Loading

SQLserver 多行转一行显示

前言

SQLserver如何把多行的数据,在一行中显示呢?

具体实现

将使用for xml path 方法来进行转换。

创建表格

脚本代码如下:

create table table1
(
	Id int primary key identity(1,1),
	[Name] varchar(50)  
)

insert into table1 ([Name]) values ('张三')
insert into table1 ([Name]) values ('李四')
insert into table1 ([Name]) values ('王五')
insert into table1 ([Name]) values ('小芳')
insert into table1 ([Name]) values ('橙子')

使用for xml path 进行转换

脚本代码如下:

select distinct [Name]=stuff((
	select ','+[Name] from table1 b 
	where a.Id=a.Id
	for xml path('')
),1,1,'') 
from table1 a

结果

转换之前,如下图所示:

转换之后,如下图所示:

posted @ 2021-08-30 14:24  我是小柒  阅读(1327)  评论(0编辑  收藏  举报