场景:我要把同一个订单同一个客户同一个产品分组合并,同时把该产品所有的库位列举出来,合成一个字符串。
原始数据:
我要得到下面的结果:
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
上面是其中一种方法。
待续......