STUFF功能& FOR XML PATH之前已经讨论过了。由于T1和T2之间存在多对多的关系,因此我的案例略有参与
表T1(t1id,t1name)T2(t2id,t2name) 假设还有一个中间链接表F(t1id,t2id)
我正在寻找的输出如下:
T1id1 - > T1中所有ID的t2name1,t2name3,t2name6
这可以在一个查询中完成吗?
由于 阿南德
我添加了一些示例数据
Id Name
---------------
1 All
2 APR
3 EMEA
4 Pan Asia
5 Japan
6 China
7 European
8 US
Id Name
-------------
1 Tom
2 Dick
3 Harry
4 Peter
5 Mary
6 Amy
7 Susie
这两个表是N-> M
我正在寻找的输出是
Analyst.Id Analyst.Name Geography.Name
------------------------------------------
1 Tom EMEA, China
2 Dick APR, US, China
....
....
答案 0 :(得分:0)
是。像这样
SELECT T1.t1id, STUFF(t2.name, 1, 1, '')
FROM T1
CROSS APPLY
(
SELECT ',' + T2.name
FROM T2
WHERE T2.t2id = T1.t1id
FOR XML PATH ('')
) t2 (name)