gpt4 book ai didi

mysql - 如何在mysql中叠加select和join?

转载 作者:行者123 更新时间:2023-11-30 21:32:11 25 4
gpt4 key购买 nike

我使用 MySQL 和 JPA 1.9.4

我需要叠加多个连接来检索对象 A 的列表以及我可以通过对象 B 找到的特定对象 C。

实体A:id b_id实体 B:id c_id实体C:身份证号

例如,我想检索 C.number 等于 1 的 A 列表。

我尝试链接左连接和叠层选择表。

尝试 A-B 的示例:这个有效。

SELECT * FROM A a LEFT JOIN B b ON a.b_id = b.id;

尝试 B-C 的示例:这个也有效。

SELECT * FROM B b LEFT JOIN C c ON b.c_id = c.id WHERE c.number = 1;

尝试 A-B-C 的示例:这个不起作用。

我刚开始尝试从 A-B 重命名新表,mysql 说“重复的列名‘id’”我做了其他几次尝试,但显然我有语法问题,但我无法自行修复。

  SELECT * FROM (SELECT * FROM A a LEFT JOIN B b ON a.b_id = b.id) AS a_inter;

总而言之,我成功获得了 A-B 或 B-C,但从未获得 A-B-C 表,然后检索我感兴趣的 A 对象列表。

你能帮帮我吗?

谢谢,

手册

最佳答案

答案在顶部的评论中。

SELECT * FROM A a LEFT JOIN B b ON a.b_id = b.id LEFT JOIN C c ON b.c_id = c.id WHERE c.number = 1;

感谢 MattOverF。

关于mysql - 如何在mysql中叠加select和join?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55634233/

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