我有三个表:Table1,Table2和Lookup。表1和表2没有共同的列。查找用于标记:它有两列匹配Table1 ID和Table2 ID。
我正在尝试设计一个查询,我可以从参数中获取Table1中的行数组,然后使用我的结果中的所有ID,获取所有相应Lookup行的数组,然后使用它来获取数组表2中的所有相应标签。
困难的方法是进行第一次查询,以编程方式获取所有唯一ID,然后从基于那些的Lookup中选择,等等。但这看起来效率非常低。
我正在使用PHP,PDO和PostgreSQL。我该怎么办?
答案 0 :(得分:1)
试试这个:
SELECT *
FROM Lookup
LEFT JOIN Table1 ON Table1.id=Lookup.Table1_id
LEFT JOIN Table2 ON Table2.id=Lookup.Table2_id