我有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語句?
謝謝。
我有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語句?
謝謝。
如果第一次查詢將永遠只返回一個(或沒有)行,那麼你可以使用第一查詢作爲子查詢:
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)
你的意思是所有的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
啊,「子查詢或內部查詢或嵌套查詢」。我不知道這一點。謝謝你的答案,並請原諒我的SQL無知。 –
解決問題的方法很多。 – n8wrl
啊哈,一個「子查詢或內部查詢或嵌套查詢」。我不知道這一點。謝謝你的答案,並請原諒我的SQL無知。 –