You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建MySQL视图family实现父子表的子女聚合展示?

最优解决方案:创建MySQL family视图

现有表结构及数据

表father

ID  NAME
1   John
2   Paul
3   Mike

表child

ID  FATHER  CHILD
1   1       Mary
2   2       Liz
3   2       Lucy

需求目标

创建名为family的视图,输出格式如下:

FATHER_ID FATHER_NAME  CHILDREN
1         John         'Mary'
2         Paul         'Liz, Lucy'
3         Mike         NULL

解决方案SQL

CREATE VIEW family AS
SELECT
    f.ID AS FATHER_ID,
    f.NAME AS FATHER_NAME,
    CONCAT('\'', GROUP_CONCAT(c.CHILD SEPARATOR ', '), '\'') AS CHILDREN
FROM father f
LEFT JOIN child c ON f.ID = c.FATHER
GROUP BY f.ID, f.NAME;

关键说明

  • 使用LEFT JOIN关联两张表,确保没有孩子的父亲(如ID为3的Mike)也能被包含在结果中,不会被过滤掉
  • GROUP_CONCAT函数负责将同一个父亲的多个孩子名字用, 分隔拼接,再通过CONCAT给拼接结果前后加上单引号,匹配需求中的格式
  • 当父亲没有对应孩子时,GROUP_CONCAT返回NULL,最终CHILDREN字段也会显示NULL,符合要求

内容的提问来源于stack exchange,提问作者Elisa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 17:40:02