父SELECT中的Concat子记录

时间:2014-10-01 12:34:55

标签: mysql sql

根据我对MySQL的最佳了解,在这种情况下,不可能的想法会有所帮助。

我们希望select父表中的记录和concat(类似的东西)select中的子行。这里明显错误的MySQL,但说明我们想要实现的目标。

SELECT parentattr, 
       CONCAT (
               SELECT name 
               FROM child 
               WHERE child.parentId = parent.id)) as allchildernames
FROM parent

3 个答案:

答案 0 :(得分:1)

您还需要GROUP BY,而且您需要准确指定要连接的名称。

SELECT parentattr1, parentattr2, GROUP_CONCAT(c.name ORDER By c.name)
FROM parent p
LEFT JOIN child c ON parentId = c.id
GROUP BY parentattr1, parentattr2

答案 1 :(得分:0)

尝试使用GROUP_CONCAT(),这里是examples

在parent.id之后你还有一个额外的)

答案 2 :(得分:0)

试试这个

  SELECT parentattr, GROUP_CONCAT(child.name SEPARATOR ', ') as allchildernames

来自父母,孩子 其中child.parentId = parent.id 由parent.id分组