У меня есть эта таблица:Пользовательский идентификатор столбца в SQL Server
ID ORDER SCNID SCANNER
-------------------------------
170842 85986 20 APL-1
170843 85986 20 APL-1
170844 85986 20 APL-1
170845 85986 20 APL-1
170886 86004 200 GPL-2
170897 86011 1600 MAP-1
170900 86011 1600 MAP-1
170903 86011 1600 MAP-1
170904 86011 1600 MAP-1
170906 86011 1600 MAP-1
170908 86011 1600 MAP-1
170909 86011 1600 MAP-1
170918 86024 520 NIX-3
170922 86028 1050 OPL-3
170923 86029 1050 OPL-3
мне нужно сделать customorderID
столбец, для которого она будет выглядеть следующим образом:
ID ORDER SCNID SCANNER CUSORDERID
--------------------------------------------
170842 85986 20 APL-1 85986-1
170843 85986 20 APL-1 85986-2
170844 85986 20 APL-1 85986-3
170845 85986 20 APL-1 85986-4
170886 86004 200 GPL-2 86004-1
170897 86011 1600 MAP-1 86011-1
170900 85986 1600 MAP-1 85986-5
170903 86011 1600 MAP-1 86011-2
170904 86011 1600 MAP-1 86011-3
170906 86011 1600 MAP-1 86011-4
170908 86011 1600 MAP-1 86011-5
170909 86011 1600 MAP-1 86011-6
170918 86024 520 NIX-3 86024-1
170922 86028 1050 OPL-3 86028-1
170923 86029 1050 OPL-3 86029-1
Строки сортируются по ID & в соответствии с идентификатором 1-я запись для экземпляра ORDER (например, 86011) пользовательский ORDERID будет 86011-1, если для этого ЗАКАЗА имеются другие записи, то это будет 86011-2 и так далее.
Может ли кто-нибудь мне помочь?
У вас уже есть поле порядка, какой-либо причине вы не можете использовать последовательность при запросе придумать добавлении на лету, а не хранить его? Обычно это предпочтительнее, если у вас есть какая-то дата/время для ее сортировки. Ссылка здесь: http://stackoverflow.com/questions/14359749/how-to-return-a-incremental-group-number-per-group-in-sql – jleach
Мне нужен CUSTOMODER CULUMN, который будет выглядеть следующим образом. , –
Что произойдет, если у вас есть '86011-1',' 86011-2' и '86011-3', а кто-то удаляет строку' 86011-2'? Должен ли '86011-3' перенумеровать? Если нет, должна ли следующая строка стать «86011-2» или «86011-4»? –