答案 0 :(得分:1)
如果您使用的是SQL 2017或SQL Azure,则可以将STRING_AGG
聚合函数与GROUP BY
一起使用
SELECT Ticket, STRING_AGG (PartNumber)
FROM myTable
GROUP BY Ticket
答案 1 :(得分:1)
您可以使用以下查询
Create Table SepvalueTable (Ticket Int, PartNumber char(1))
Insert into SepvalueTable Values (1, 'A'), (1, 'B'),(2, 'C'),(3, 'A'),(3, 'B'),(3, 'C')
SELECT Ticket,
PartNumber =
STUFF ( ( SELECT ' '+InrTab.PartNumber
FROM SepvalueTable InrTab
WHERE InrTab.Ticket = OutTab.Ticket
ORDER BY InrTab.Ticket
FOR XML PATH(''),TYPE
).value('.','VARCHAR(MAX)')
, 1,1,SPACE(0))
FROM SepvalueTable OutTab
GROUP BY OutTab.Ticket;
输出如下所示
Ticket PartNumber
------------------
1 A B
2 C
3 A B C
您可以找到完整的数据实时演示Live Demo Here