SQL Server Sql function 多行中的列合并为一行一列的方法

2022-11-12 09:41:40
内容摘要
这篇文章主要为大家详细介绍了SQL Server Sql function 多行中的列合并为一行一列的方法,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记!
文章正文

这篇文章主要为大家详细介绍了SQL Server Sql function 多行中的列合并为一行一列的方法,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

代码如下:

 
CREATE TABLE tb(standards varchar(50), amount varchar(50), variation varchar(50),statuss varchar(50),Reason varchar(50)) 
insert into tb values('55','279','4','物量积压','加工人员设备不足;T排制作进度较慢;') 
insert into tb values('55','279','4','物量积压','部件人员不足;') 
insert into tb values('55','279','4','物量积压','跨间场地积压;图纸问题较多;') 
insert into tb values('56','300','4','物量积压','AAAA;') 
insert into tb values('56','300','4','物量积压','BBBB;') 
insert into tb values('56','300','4','物量积压','CCCC;') 

create function test(@standards varchar(100)) 
returns varchar(8000) 
as 
begin 
declare @re varchar(500) 
set @re = '' 
select @re = @re+','+Reason 
from tb 
where @standards=standards 
return (stuff(@re,1,1,'')) 
end 
调用

代码如下:

 
select distinct standards,amount,variation,statuss,Reason = dbo.test('55') from tb where standards=55 
select distinct standards,amount,variation,statuss,Reason = dbo.test('56') from tb where standards=56 

注:关于SQL Server Sql function 多行中的列合并为一行一列的方法的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!