我有两张桌子:
表1
键,CenterId,值
01中心A 10
02中心B 100
03中心C 50
和
表2
中心,SubCenter,A场,B场中心A组1.A组2中心A组3.
我需要每个中心得到一行(表1中的一行)和,所有的子中心,但不重复行.所以我最后的结果肯定是:
查询结果
中心,价值,亚中心列表A,10,Sub1 Sub2 Sub4 3中心B,100,Sub4.亚N
如何在Sql (特别是SQL-SERVER)中做到这一点?
谢谢
发布于 2012-02-03 09:41:30
这应该适用于Server 2005及以上
SELECT t1.centerid, t1.value, LEFT(el.sublist, LEN(el.sublist)-1) AS subcenters
FROM Table1 t1
CROSS APPLY (SELECT t2.subcenter + ',' AS [text()]
FROM Table2 t2
WHERE t2.center = t1.centerid
FOR XML PATH(''))el(sublist)
https://stackoverflow.com/questions/9126201
复制相似问题