2017-07-18 105 views
-1

我有三個表:Table1,Table2和Lookup。表1和表2沒有共同的列。查找用於標記:它具有兩列,它們與Table1 ID與Table2 ID匹配。如何有效地查詢兩個表之間的查找表?

我想設計一個查詢,我可以通過參數從Table1中獲取行的數組,然後在結果中使用所有的ids,獲取所有對應查找行的數組,然後使用它獲取表2中所有相應標籤的數組。

困難的方法是做第一個查詢,以編程方式獲得所有唯一ID,然後從基於這些的查找中進行選擇等。但是這看起來效率很低。

我正在使用PHP,PDO和PostgreSQL。我能做什麼?

+0

我們不能幫你,除非你表現出一定的樣本數據和期望的結果。很難理解你需要什麼。 –

+0

從'lookup'中選擇時,你不能只使用'table1'和'table2'做一個'join'? – chris85

回答

1

試試這個:

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