我有第一张桌子t1
|| ID ||名称|| ||添加
| T1 | A | KL |
第二表t2
|| ID || || t1ID照片
| 1 | t1 | image url
| 2 | t1 | image url
我想从第一张表中获取行,然后从第二张表中获取照片的csv
我跑到查询
下面select sp.*, STUFF(( SELECT ',' + photo
FROM t2
FOR
XML PATH('')
), 1, 1, '') as Photo from t2 sp
left join t2 ig on sp.idID = ig.t1id
where sp.id = 4
它返回正确的值但是两行,因为第二列有第一个表t1 id的两行。
我怎么能只为第一个表的每一行表示一行,它应该在最后一栏返回csv照片
感谢
答案 0 :(得分:2)
尝试以下查询;
select sp.*, STUFF(( SELECT ',' + photo FROM t2
where t1id = sp.idID FOR XML PATH('')), 1, 1, '') as Photo from t1 sp
where sp.id = 4