我有兩個SQL查詢,一個在獲取結果後使用另一個。SQL:以查詢的結果並將其用於另一個 - 組合
SELECT users.data from users WHERE users.data2 = value
SELECT mods.data FROM mods WHERE mods.data2 = (result of previous query)
我將如何組合這些語句?有類似的問題,但我是SQL新手,並不理解它們。
我有兩個SQL查詢,一個在獲取結果後使用另一個。SQL:以查詢的結果並將其用於另一個 - 組合
SELECT users.data from users WHERE users.data2 = value
SELECT mods.data FROM mods WHERE mods.data2 = (result of previous query)
我將如何組合這些語句?有類似的問題,但我是SQL新手,並不理解它們。
加入他們最簡單的方法是用IN
操作:
SELECT mods.data FROM mods WHERE mods.data2 IN
(SELECT users.data from users WHERE users.data2 = value)
,但還有很多其他的...
例如,你可以加入他們的行列:
SELECT mods.data
FROM mods
JOIN users ON mods.data2 = users.data
WHERE users.data2 = value
這些可能會產生不同的輸出,但取決於數據的結構。
根據您的具體RDBMS,你可以使用Common Table Expressions(CTE的),在最近的MS SQL版本。
閱讀周圍,使用IN似乎被再次建議。 – hexacyanide 2012-08-09 16:49:33
取決於你想要得到什麼。 – 2012-08-09 16:50:56