我想要连接一个有多行的表,需要将所有行中的一列合并到单个列中。
select a.parent_id,a.parent_name,concat(b.child_name) from parent a
join children b on (a.parent_id=b.parent_id);这应该返回所有的父行,并且每个父行都应该有它的所有子行。
我正在考虑用parent_id分组,但得到了多条记录(每个孩子一条记录)。除了分组之外,我还可以在这里实现什么逻辑来在单行中获取父级的所有子级。
发布于 2016-08-27 07:06:36
SELECT a.parent_id, a.parent_name, STRING_AGG(b.child_name, ',') as Children
FROM
Parent a
INNER JOIN children b
ON a.Id = b.ParentId
GROUP BY
a.parent_id
,a.parent_namehttps://stackoverflow.com/questions/39175634
复制相似问题