У меня есть таблица, какПодготовить комплексный заказ в записи таблицы. (MS SQL)
ВХОД
PKID FKID IsActive OrderNo
1 1 1 1
2 1 0 2
3 1 0 3
4 1 0 4
5 1 1 5
6 1 0 6
7 1 0 7
ВЫВОД
PKID FKID IsActive OrderNo OUTPUTs
1 1 1 1 1 (first IsActive True)
2 1 0 2 1 (After isActive true start from 1)
3 1 0 3 2
4 1 0 4 3
5 1 1 5 2 (Second IsActive True)
6 1 0 6 1 (After isActive true start from 1)
7 1 0 7 2
Я попытался с RANK() OVER(PARTITION BY IsActive ORDER BY orderNo)
Но не получил такой же выход.
МОЯ Выходная логика
1) найти ранг по IsActive
2) Если IsActive запись найдена, то после этого начала записи с 1
Как я могу получил выход в MS SQL?
Любой другой способ, могу ли я сделать это без ранга?
благодарив,