SQL server把多条记录查找结果合并成一条记录

发布时间 2023-09-05 17:23:35作者: Maggie1010

假如我们有一个订单表,其中load 和下单店铺名 是多对多的关系

SELECT DISTINCT LoadKey,店铺名 FROM 订单表

我们希望可以把相同Load的店铺放到一行里,如下

SELECT DISTINCT LoadKey,store=( SELECT CONVERT(NVARCHAR(10),o1.店铺名)+','
FROM (SELECT DISTINCT LoadKey,SUBSTRING(Salesman,5,30) 店铺名 FROM  订单表 WITH (NOLOCK) WHERE LoadKey IN('0009688485','0009691644','0009691626'))o1 WHERE o1.LoadKey=o2.LoadKey 
FOR xml Path('')
 )
 FROM 订单表 o2 WHERE o2.LoadKey IN('0009688485','0009691644','0009691626')