我有以下问题,我无法成功完成。您的帮助将不胜感激。我正在使用 SQL 2005,并尝试使用 CTE 执行此操作。
表有以下 2 列
DocNum DocEntry
1 234
2 324
2 746
3 876
3 764
4 100
4 387
预期结果如下
1 234
2 324, 746
3 876, 764
4 100, 387
谢谢拉胡尔耆那教
从评论中转录的进一步解释:
我正在使用如下查询:
WITH ABC (DocNum, DocEntry) AS
(SELECT DocNum, Cast(DocEntry As VARCHAR(8000))
FROM Temp5
WHERE DocNum = 1
UNION ALL
SELECT a.DocNum, A.DocEntry + ', ' + B.DocEntry
FROM ABC B INNER JOIN Temp5 A ON B.DocNum +1= A.DocNum
WHERE A.DOCNUM > 1)
SELECT * FROM ABC;
上述查询的结果如下
1 234
2 234, 324
2 234, 746
3 234, 746, 876
3 234, 746, 764
我不希望这些数字像问题所示那样重复。