У меня есть выборка, которая возвращает
EMP DOC DATE
1 78 01/01
1 96 02/01
1 96 02/01
1 105 07/01
2 4 04/01
2 7 04/01
3 45 07/01
3 45 07/01
3 67 09/01
И я хочу добавить номер строки (я буду использовать его в качестве основного идентификатора), но я хочу, чтобы он всегда менялся при изменении «EMP» и также не изменится, когда do c будет таким же, как предыдущий, например:
EMP DOC DATE ID
1 78 01/01 1
1 96 02/01 2
1 96 02/01 2
1 105 07/01 3
2 4 04/01 1
2 7 04/01 2
3 45 07/01 1
3 45 07/01 1
3 67 09/01 2
на SQL сервере. Я могу использовать LAG
для сравнения предыдущих DO C, но могу Кажется, я не могу найти путь к SYBASE SQL В любом месте, я использую ROW_NUMBER
для разбиения по "EMP", но это не то, что мне нужно.
SELECT EMP, DOC, DATE, ROW_NUMBER() OVER (PARTITION BY EMP ORDER BY EMP, DOC, DATE) ID -- <== THIS WILL CHANGE THE ROW NUMBER ON SAME DOC ON SAME EMP, SO WOULD NOT WORK.
У кого-то есть направление для это?