有2个表与1:M关系。 连接输出应有2列: 第1列 - 来自父表和 第二列我是子表中所有相关记录的串联。 输出中的记录总数应为父表中的记录数。 数据库:MySQL。
示例:
父(id PK,parent_name)
Child(id PK,parent_id FK,child_name)
Parent: | id | parent_name ——————------------ | 1 | Smith | 2 | David Child : id | parent_id | child_name ———————————————--------------- 1 | 1 | Anna 2 | 1 | Linda 3 | 2 | Maria 4 | 2 | Michael Expected join result: parent_name | child_name ——————------|——————— Smith | Anna, Linda David | Maria, Michael
答案 0 :(得分:2)
你需要group_concat。试试这个 -
SELECT P.parent_name, GROUP_CONCAT(C.child_name)
FROM Parent P INNER JOIN Child C
ON P.id = C.parent_id
GROUP BY P.parent_name
希望这有帮助。
答案 1 :(得分:0)
Select pr.parent_name,group_concat(ch.child_name)
from parent pr join child ch
where pr.id = ch.parent_id
group by pr.parent_name;
组连接是MySQL中的功能。你可以使用它。
试一试:)