Я думаю, что сформулированное название немного неловко, но вот мой вопрос:SQL: Назначение 2 строки уникального идентификатора для каждых 2 строк данных
У меня есть Sybase
таблицу, как показано ниже, где каждая 2 строки необходимо иметь a unique ID
, который отделен от всех остальных 2 строк таблицы. Поэтому для строк 1 и 2 нужен ID
, который отличается от строк 3 и 4 и остальной части таблицы. Символ может повторяться. Всегда есть «B» и «S», привязанные друг к другу, но нет текущего идентификатора для их соединения. ExecID и OrderID не всегда действительно последовательны (т.е. 010001, 010002), но будут в порядке. Я пробовал несколько вариантов CASE WHEN
, но я не могу придумать ничего, что сделает трюк.
Каков наилучший способ для этого?
Symbol | Sell-Buy | ExecId | OrderId | RowNum |
---------------------------------------------------
W | B | 64240624 | 101773407 | 1 |
W | S | 64240625 | 101773408 | 2 |
XM | B | 64240626 | 101773409 | 3 |
XM | S | 64240627 | 101773410 | 4 |
GV | B | 64240628 | 101773411 | 5 |
GV | S | 64240629 | 101773412 | 6 |
....
W | B | 64240679 | 101773455 | 49 |
W | S | 64240680 | 101773456 | 50 |
Цель выхода:
Symbol | Sell-Buy | ExecId | OrderId | RowNum | 2RowId |
------------------------------------------------------------
W | B | 64240624 | 101773407 | 1 | 000001 |
W | S | 64240625 | 101773408 | 2 | 000001 |
XM | B | 64240626 | 101773409 | 3 | 000002 |
XM | S | 64240627 | 101773410 | 4 | 000002 |
....
W | B | 64240679 | 101773455 | 49 | 000025 |
W | S | 64240680 | 101773456 | 50 | 000025 |
Да, вот оно! Благодаря! Я отвечу правильно, когда сообщение позволяет мне. – plankton
В американском английском высказывание было бы «кричать, вот оно» :-) –