2016-02-19 117 views
1

我有2個表:結合兩個具體的SQL語句

表F:

​​

表T:

Field T_ID 

我有一個F_ID,這樣我就可以找到配對錶T:

SELECT * FROM F INNER JOIN T ON F_T_ID = T_ID WHERE F_ID = x 

然後我就可以找到引用該表T的所有表F:

SELECT * FROM F WHERE F_T_ID = y 

我怎樣才能做到這一點在一個SQL語句?

謝謝。

回答

0

如果第一次查詢將永遠只返回一個(或沒有)行,那麼你可以使用第一查詢作爲子查詢:

SELECT * FROM F WHERE F_T_ID = 
    (SELECT F_T_ID FROM F INNER JOIN T ON F_T_ID = T_ID WHERE F_ID = x) 
+0

啊哈,一個「子查詢或內部查詢或嵌套查詢」。我不知道這一點。謝謝你的答案,並請原諒我的SQL無知。 –

0

你的意思是所有的F公司是指同一個T作爲你的F_ID ?這個怎麼樣:

SELECT F1.* 
    FROM F F1 
    JOIN T ON T.T_ID = F1.F_T_ID 
    JOIN F ON F.F_T_ID = T.T_ID 
     AND F.F_ID = x 

如果你不想包含原始的F,你可以補充一點:

WHERE F1.F_ID != x 
+0

啊,「子查詢或內部查詢或嵌套查詢」。我不知道這一點。謝謝你的答案,並請原諒我的SQL無知。 –

+0

解決問題的方法很多。 – n8wrl