是否可以在单个查询中有两个连接,其中第二个连接是 table_2 和 table_3 之间的连接(table_1 中没有键引用)?
table_1
id | column_a
table_2
id | table_1_id | table_3_id | column_b
table_3
id | column_c
现有查询:
SELECT * FROM table_1 RIGHT OUTER JOIN table_2 WHERE table_1.id id = ? and WHERE column_a = ?
从 table_1 和 table_2 给我想要的信息,但 table_2 的信息将只有 table_3_id 列。
在同一个查询中,我想加入 table_3 以根据 table_2.table_3_id 获取其数据
最佳答案
一句话——是的。您可以添加更多 join
子句:
SELECT *
FROM table_1
RIGHT OUTER JOIN table_2 ON table_1.table_2_id = table_2.id
RIGHT OUTER JOIN table_3 ON table_2.table_3_id = table_3.id
WHERE table_1.id = ? AND column_a = ?
关于sql - 单个查询中的 Postgresql 多个连接,其中连接的外键不存在于所有表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46591666/