当前位置: 移动技术网 > IT编程>数据库>MSSQL > 利用FOR XML PATH行转列(根据某字段分组,多行数据转成一行,并用逗号隔开)

利用FOR XML PATH行转列(根据某字段分组,多行数据转成一行,并用逗号隔开)

2019年12月07日  | 移动技术网IT编程  | 我要评论

芹泽karen,异性推油按摩,黄金渔场之radio star

create table #test
(a varchar(10) null,b varchar(max) null)

insert into #test
select 'a','a001'
union all
select 'a','a002'
union all
select 'a','a003'
union all
select 'b','b001'
union all
select 'b','b002'

 

select * from #test

 

--先来看一个简单的,效果如下图所示:

select stuff((select ','+b from #test for xml path('')),1,1,'')

---------------------------------------------------------------

--再来个我们想要的,效果见下图:
select distinct t1.a,
replace((select b as [data()] from #test t2 where t1.a=t2.a for xml path('')),' ',',') as b
from #test t1

---------------------------------------------------------------

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网