我有一张桌子:
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排序&根据ID,第一条记录用于粒子排序(例如。86011)自定义ORDERID为86011-1,如果该订单有其他记录,则为86011-2,依此类推。
有谁可以帮我?
发布于 2016-03-21 10:39:09
尝试如下:
with tempOrder as
(
select ID,[ORDER],SCNID,Scanner, ROW_NUMBER() over (partition by [ORDER] order by [ORDER], ID) as OrderNum
from OrderTable
)
Select Id,[Order],SCNID,Scanner, Str([ORDER]) +'-'+ Str(OrderNum) as CUSORDERID from tempOrder
order by [ORDER]https://stackoverflow.com/questions/36128192
复制相似问题