sql从第二个表加入csv

时间:2018-01-04 18:59:01

标签: sql-server

我有第一张桌子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照片

感谢

1 个答案:

答案 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