为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

眼眸繁星 2019-05-27 13:38:10
如何使用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


查看完整回答
反对 回复 2019-05-27
?
哔哔one

TA贡献1854条经验 获得超8个赞

使用XML路径不会像你期望的那样完美地连接......它会将“&”替换为“&amp;” 并且还会搞砸<" and "> ...也许还有其他一些事情,不确定......但你可以试试这个

我遇到了一个解决方法...你需要替换:

FOR XML PATH(''))

有:

FOR XML PATH(''),TYPE).value('(./text())[1]','VARCHAR(MAX)')

......或者NVARCHAR(MAX)如果那就是你正在使用的东西。

为什么地狱没有SQL连接聚合函数?这是一个PITA。


查看完整回答
反对 回复 2019-05-27
  • 4 回答
  • 0 关注
  • 1521 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信