2015-05-19 82 views
0

我有兩個表格和第三個鏈接記錄。我試圖做一個查詢,將選擇t1.name和t2.value其中他們的ID綁定在表3中。它已經很長時間,因爲我已經做了任何SQL我不記得如何正確地做到這一點,用參考表加入兩個表格

Table1 
------------- 
ID  Name 
1  bill 
2  bob 
3  ben 
4  steve 

Table2 
ID  Value 
-------------- 
1  blue 
2  red 
3  green 
4  orange 

Table3 
----------------------------- 
ID  Table1ID  Table2ID 
1  4   2 
2  3   1 
3  2   4 
4  1   3 

回答

1

這是一個簡單INNER JOIN
通過搜索sql教程然後在這裏詢問可能會更快地獲得答案。

SELECT Table1.Name, Table2.Name 
FROM Table1 
INNER JOIN Table3 ON Table1.Id = Table3.Table1Id 
INNER JOIN Table2 ON Table3.Table2Id = Table2.Id 
0

查詢應該是這樣的,例如在MySQL方言中。

SELECT t1.Name, t2.Value FROM Table1 t1 
    JOIN Table3 t3 ON t3.Table1ID = t1.ID 
    JOIN Table2 t2 ON t3.Table2ID = t2.ID; 

但是請注意,可能有多個變種,並且最適合你取決於你的確切數據庫規範(例如LEFT JOIN或INNER JOIN等)

+0

其實,這是ANSI SQL,並應在大多數數據庫 –

+0

是的,也許是工作,但據我所知例如Postgres的,Oracle等在一些情況下需要引用時使用一個區分大小寫的名字。 –