如何使用GROUP BY来连接SQL Server中的字符串?如何得到:id Name Value1 A 41 B 82 C 9至id Column1 A:4, B:82 C:9
4 回答
MMTTMM
TA贡献1869条经验 获得超4个赞
如果是SQL Server 2017或SQL Server Vnext,SQL Azure,您可以使用string_agg,如下所示:
select id, string_agg(concat(name, ':', [value]), ', ') from #YourTable group by id
哔哔one
TA贡献1854条经验 获得超8个赞
使用XML路径不会像你期望的那样完美地连接......它会将“&”替换为“&amp;” 并且还会搞砸<" and ">
...也许还有其他一些事情,不确定......但你可以试试这个
我遇到了一个解决方法...你需要替换:
FOR XML PATH(''))
有:
FOR XML PATH(''),TYPE).value('(./text())[1]','VARCHAR(MAX)')
......或者NVARCHAR(MAX)
如果那就是你正在使用的东西。
为什么地狱没有SQL
连接聚合函数?这是一个PITA。
添加回答
举报
0/150
提交
取消