如何嵌入选择并加入mysql?

时间:2019-04-11 13:55:30

标签: mysql jpa

我使用MySQL和JPA 1.9.4

我需要合并多个联接以检索对象A的列表,其中包含可以通过对象B找到的特定对象C。

实体A:id b_id 实体B:编号c_id 实体C:ID号

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

我试图束缚左联接并约束选择表。

尝试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对象列表。

能帮我吗?

谢谢

Manu

1 个答案:

答案 0 :(得分:0)

答案在顶部的评论中。

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。