SQL Server如何将Id相同的字段合并,并且以逗号隔开

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server如何将Id相同的字段合并,并且以逗号隔开相关的知识,希望对你有一定的参考价值。

例:
id name
1 张三
1 李四
2 王五
2 赵柳
结果:
Id name

1 张三,李四
2 王五,赵柳

需要用到stuff函数:

例: 

         id             name
          1               张三
          1               李四
          2               王五
          2               赵六
结果:
         Id          name
          1          张三,李四
          2          王五,赵六

创建测试表及插入数据:

create table test
(id int,
name varchar(10))

insert into test values (1,\' 张三\')
insert into test values (1,\' 李四\')
insert into test values (2,\' 王五\')
insert into test values (2,\' 赵六\')

执行语句:

select id,stuff((select \',\'+name from test 
where a.id=id for xml path(\'\')),1,1,\'\') as name
from test as a group by id

执行结果截图:

参考技术A select id,stuff((select ','+name from tb where a.id=id for xml path('')),1,1,'') as name
from tb as a group by id本回答被提问者采纳

SQL如何将某一列中相同的数据合并

例如:

SELECT GROUP_CONCAT( 字段名 ) FROM 表名
并将该字段 在WHERE条件下 GROUP BY
参考技术A select 身份,等级,sum(数量) from table group by 身份,等级追问

是将身份中相同的合并!数量不需要加!

追答

SQL是数据库,只能一条条记录,永远也不可能合并记录某条信息吧?如果能显示,也是对接数据库软件的平台功能,即查出后再进一步合并相同数据。按你演示的用EXCEL,也是先用SQL得到第一张表,然后再用EXCEL中的VBA进行合并单元格处理。

以上是关于SQL Server如何将Id相同的字段合并,并且以逗号隔开的主要内容,如果未能解决你的问题,请参考以下文章

sql查询结果中有id相同的字段如何对查询结果进行操作将id相同的合并为一条数据

SQL查询结果一字段相同合并,另一字段为数字和逗号合并并去重

sql语句,合并多条记录中的相同字段。

在SQL Server中将多行相同id的行合并为一行[关闭]

SQL SERVER,一张表中,有多个字段关联另一张表,怎么写SQL语句?

将多个 SQL Server 表合并为一个