SQL 行转字符串,其中字符串是用逗号分开的字段

   一、行转字符串,用逗号分开

  1、记录显示为字符串,用逗号分开:
SELECT 字段+',' FROM 表名 FOR XML PATH('')
2、分组将记录显示为字符串,每个字符串用逗号分开

            select 分组字段,STUFF((select ','+字段 from 表 a where a.分组字段=表.分组字段 for XML PATH('')),1,1,'')

               from 表
              group by 分组字段

 

实例:

1、表结构
create table tb(id int, value varchar(10)) insert into tb values(1, 'aa') insert into tb values(1, 'bb') insert into tb values(2, 'aaa') insert into tb values(2, 'bbb') insert into tb values(2, 'ccc') insert into tb values(3, 'ddd') insert into tb values(3, 'fff')

2、表内容

               

3、实现语句

     select id,STUFF((SELECT ','+VALUE FROM tb a WHERE a.id=tb.id for XML PATH('')),1,1,'' ) value from tb group by ID

4、查询结果

       

                                                                                                     

原文地址:https://www.cnblogs.com/yclizq/p/12118177.html