合并多行查询数据到一行:使用自连接、FOR XML PATH('')
发布时间:2020-12-16 08:47:51 所属栏目:百科 来源:网络整理
导读:示例表 tb 数据如下 id value ————— 1 aa 1 bb 2 aaa 2 bbb 2 ccc 第一种 SELECT id, [ val ] = ( SELECT [ value ] + ' , ' FROM tb AS b WHERE b.id = a.id FOR XML PATH( '' ) ) FROM tb AS a 第一种显示结果 1 aa,bb, 1 aa, 2 aaa,bbb,ccc, 第二种
示例表 tb 数据如下 id value 第一种
1 aa,bb, 1 aa, 2 aaa,bbb,ccc, 第二种
1 aa, 第三种 (用STUFF函数替换掉首端的逗号)
1 aa,bb 2 aaa,ccc STUFF 函数将字符串插入另一字符串。它在第一个字符串中从开始位置删除指定长度的字符;然后将第二个字符串插入第一个字符串的开始位置。 第四种 (用REPLACE函数将所有空格替换成逗号)
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |