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