Mysql SQL:将子表中的记录连接到单个记录中
有两个表具有1:M关系。 连接输出应有2列: 第1列-来自父表和 第2列I是子表中所有相关记录的串联。 输出中的记录总数应为父表中的记录总数。 数据库:MySQL 例如: Parentid主键,parent\u名称 子id主键,父id FK,子id名称 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, MichaelMysql SQL:将子表中的记录连接到单个记录中,mysql,sql,Mysql,Sql,有两个表具有1:M关系。 连接输出应有2列: 第1列-来自父表和 第2列I是子表中所有相关记录的串联。 输出中的记录总数应为父表中的记录总数。 数据库:MySQL 例如: Parentid主键,parent\u名称 子id主键,父id FK,子id名称 Parent: | id | parent_name ——————------------ | 1 | Smith | 2 | David Child : id | parent_id | child_name ——————————————
你需要小组讨论。试试这个-
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
希望这有帮助
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;
groupconcat是MySQL中的函数。你可以用这个
试一试: