如果是SQL Server 2017或SQL Server Vnext,SQL Azure,您可以使用string_agg,如下所示:select id, string_agg(concat(name, ':', [value]), ', ')
from #YourTable
group by id
使用XML路径不会像你期望的那样完美地连接......它会将“&”替换为“&amp;” 并且还会搞砸<" and "> ...也许还有其他一些事情,不确定......但你可以试试这个我遇到了一个解决方法...你需要替换:FOR XML PATH(''))有:FOR XML PATH(''),TYPE).value('(./text())[1]','VARCHAR(MAX)')......或者NVARCHAR(MAX)如果那就是你正在使用的东西。为什么地狱没有SQL连接聚合函数?这是一个PITA。