SQL server把多条记录查找结果合并成一条记录
假如我们有一个订单表,其中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')