gpt4 book ai didi

mysql - 在mysql中的同一个表中加入子查询

转载 作者:行者123 更新时间:2023-11-29 02:10:39 27 4
gpt4 key购买 nike

我正在尝试使用连接和子查询从我的表中获取一些数据。我的场景是:我有一个表 表 ABC,结构如图所示

ID   NAME  PARENT   RELATION

我想要身份证、姓名、 parent 姓名和配偶姓名(如果有成员不是配偶)。我尝试的查询是:

SELECT E1.name AS memname,
E2.name AS parentname
FROM ABC AS E1
LEFT OUTER JOIN ABC AS E2 ON E2.id = E1.parent_id
where E1.relation != "Spouse"

此查询返回成员的 id、name 和 parentname 的正确行。现在我需要重写查询,以便如果任何成员有配偶,我也将获得配偶姓名。预期输出是:

enter image description here

我尝试使用子查询来选择配偶姓名,但它是错误的。谁能帮我这个?提前致谢

最佳答案

可以再自联一次得到配偶名。

SELECT E1.name AS memname,
E2.name AS parentname,
E3.name AS spouse
FROM ABC AS E1
LEFT OUTER JOIN ABC AS E2 ON E2.id = E1.parent_id
LEFT OUTER JOIN ABC AS E3 ON E3.parent_id = E1.id AND
E3.relation = 'Spouse'
where E1.relation <> 'Spouse'

关于mysql - 在mysql中的同一个表中加入子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53706511/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com