我有一个父表和一个子表:
Parent
ID Name
1 Parent1
2 Parent2
Son
ID ParentID
10 1
20 1
30 1
15 2
25 2
在选择父级时,将所有子级的 ID 放在一个列中的最简单方法是什么?像这样:
Result:
ID Name AllMySons
1 Parent1 10,20,30
2 Parent2 15, 25
我想构建一个函数来与儿子们一起生成字符串,但有人有更好的主意吗?
最佳答案
select P.ID,
P.Name,
stuff((select ','+cast(S.ID as varchar(10))
from Son S
where S.ParentID = P.ID
for xml path('')), 1, 1, '') AllMySons
from Parent P
关于sql - 在一列上获取子记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10446424/