【SQL-分组合并字符串】把相同分组的某个字段合并为同一个字符串(使用函数)

场景:我要把同一个订单同一个客户同一个产品分组合并,同时把该产品所有的库位列举出来,合成一个字符串。

原始数据:

我要得到下面的结果:

SQL如下:

==先建个方法==

create function GetStorehouseCode
(@orderno varchar(100),
 @client varchar(100),
 @goods varchar(100)) 
returns nvarchar(4000)
as
begin
declare @Stocks nvarchar(4000)
set @Stocks=''
select @Stocks=@Stocks+','+Stock from Inventory  
where orderno=@orderno and client=@client and goods=@goods
return stuff(@Stocks,1,1,'')
end

 ==查询==

select orderno,client,goods,dbo.GetStorehouseCode(orderno,client,goods) as Stocks from Inventory
group by orderno,client,goods

  

    上面是其中一种方法。

  待续......

原文地址:https://www.cnblogs.com/Sukie-s-home/p/5282794.html