如何有效查询两个表之间的查找表?

时间:2017-07-18 20:36:11

标签: php sql postgresql pdo

我有三个表:Table1,Table2和Lookup。表1和表2没有共同的列。查找用于标记:它有两列匹配Table1 ID和Table2 ID。

我正在尝试设计一个查询,我可以从参数中获取Table1中的行数组,然后使用我的结果中的所有ID,获取所有相应Lookup行的数组,然后使用它来获取数组表2中的所有相应标签。

困难的方法是进行第一次查询,以编程方式获取所有唯一ID,然后从基于那些的Lookup中选择,等等。但这看起来效率非常低。

我正在使用PHP,PDO和PostgreSQL。我该怎么办?

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT *
FROM Lookup
LEFT JOIN Table1 ON Table1.id=Lookup.Table1_id
LEFT JOIN Table2 ON Table2.id=Lookup.Table2_id