如何使用GROUP BY来连接SQL Server中的字符串?

如何使用GROUP BY来连接SQL Server中的字符串?

如何得到:


id       Name       Value

1          A          4

1          B          8

2          C          9


id          Column

1          A:4, B:8

2          C:9


眼眸繁星
浏览 1523回答 4
4回答

MMTTMM

如果是SQL Server 2017或SQL Server Vnext,SQL Azure,您可以使用string_agg,如下所示:select id, string_agg(concat(name, ':', [value]), ', ')     from #YourTable      group by id

哔哔one

使用XML路径不会像你期望的那样完美地连接......它会将“&”替换为“&amp;”&nbsp;并且还会搞砸<" and ">&nbsp;...也许还有其他一些事情,不确定......但你可以试试这个我遇到了一个解决方法...你需要替换:FOR&nbsp;XML&nbsp;PATH(''))有:FOR&nbsp;XML&nbsp;PATH(''),TYPE).value('(./text())[1]','VARCHAR(MAX)')......或者NVARCHAR(MAX)如果那就是你正在使用的东西。为什么地狱没有SQL连接聚合函数?这是一个PITA。
打开App,查看更多内容
随时随地看视频慕课网APP