我想连接两个表并将两行显示为一行

时间:2018-05-03 07:06:45

标签: sql-server

我想要类似的东西:

详情 资讯

Abc 1,2,3

而不是:

详情 资讯

Abc 1

Abc 2

Abc 3

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

这是sql-server的解决方案

select Particulars, stuff((
    select ',' + cast(Info as varchar(20))
    from YourTable b
    where a.Particulars = b.Particulars
    for xml path('')), 1, 1, '') as Info
from YourTable a group by Particulars

答案 2 :(得分:0)

如果您使用的是SQL Server 2017,则可以使用STRING_AGG来获得预期的结果。

SELECT Particulars, STRING_AGG (Info, ',') AS Info
FROM TableName 
GROUP BY Particulars;