上周,该社区的Damir Sudarevic帮助此查询生成了序列号。 我有一个问题与这个问题有几个问题。由于某种原因,OrderDetailsID不会显示记录,尽管按顺序指定它。
seq和seqNo下面的查询中的两列显示如下所示的记录
Seq SeqNO
1A 1
2A 2
2B 2A
2C 2B
3A 3
3B 3A
3C 3B
相反如何获得它如下所示
SeqNo
1
2A
2B
2C
3A
3B
3C
WITH OrderDetails
AS ( SELECT prodcode
,prodDesc
,orderID
,OrderDetailID
,DENSE_RANK() OVER ( ORDER BY prodCode) AS [RnkSeq]
,ROW_NUMBER() OVER ( PARTITION BY prodCode ORDER BY OrderDetailID ) AS [NumSeq]
FROM OrderDetails where orderID=65303
)
SELECT OrderDetailID
,prodcode
,CAST(RnkSeq AS varchar(10)) + CHAR(64 + NumSeq) as Seq
,Replace(CAST(RnkSeq AS varchar(10)) + CHAR(63 + NumSeq),'@','') AS SeqNo
,orderID
FROM OrderDetails
答案 0 :(得分:0)
我没有看到ORDER BY
?
答案 1 :(得分:0)
在FROM语句后的最后添加:
ORDER BY SeqNo
希望这有帮助。