我创建了以下SQL脚本:
SELECT
E.ID,
abc = STUFF((SELECT ' ' + E2.ExclusionID
FROM Exclusion E2
WHERE E.ID = E2.ID
FOR XML PATH ('')), 1, 0, '')
FROM
Exclusion E
GROUP BY
E.ContractMovementID
它将ID的所有排除记录合并为一个记录,并显示如下:
ID ExclusionID
-------------------
1 123
2 2345
3 4567
但是,我希望它显示为:
ID ExclusionID
-------------------
1 1 2 3
2 23 45
3 45 67
因此,各列之间用空格分隔,但是,我似乎无法在它们之间放置空格。谁能帮我这个? (我希望这是有道理的)
谢谢
杰西卡
答案 0 :(得分:0)
如何?
SELECT
E.ID,
abc = STUFF((SELECT ' ' + E2.ExclusionID
FROM Exclusion E2
WHERE E.ID = E2.ID
FOR XML PATH ('')), 1, 1, '')
FROM
Exclusion E
GROUP BY
E.ContractMovementID
答案 1 :(得分:0)
我找到了一个解决方案,因为exclusion.id是INT数据类型,我必须将其转换为varchar才能添加分隔符。
SELECT
E.ID,
abc = STUFF((SELECT CAST(E2.ExclusionID AS VARCHAR) + ','
FROM Exclusion E2
WHERE E.ID = E2.ID
FOR XML PATH ('')), 1, 0, '') FROM
Exclusion E GROUP BY
E.ContractMovementID