求教SQL高手:现有表a,表b
表a
name mdid
张三 1
张三 2
李四 1
王五 2
王五 3
...
——————————————————————
表b
mdid mdname money
1 北京 2000
2 上海 2500
3 广州 1800
...
——————————————————————
需要输出形式为
name mdname money
张三 北京/上海 2000/2500
李四 北京 2000
王五 上海/广州 2000/1800
——————————————————————
我现在用
select
表a.name
,STUFF((SELECT distinct ',' + cast(mdid as varchar) from 表a e WHERE a.name=e.name FOR XML PATH('')),1,1,'')
from 表a a
group by 表a.name
能做成
name mdid
张三 1,2
李四 1
王五 2,3
继续修改总会各种报错,请问要实现想要的结果需要怎么改?
相关分类