2012-08-09 43 views
1

我有兩個SQL查詢,一個在獲取結果後使用另一個。SQL:以查詢的結果並將其用於另一個 - 組合

SELECT users.data from users WHERE users.data2 = value

SELECT mods.data FROM mods WHERE mods.data2 = (result of previous query)

我將如何組合這些語句?有類似的問題,但我是SQL新手,並不理解它們。

回答

4

加入他們最簡單的方法是用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 

這些可能會產生不同的輸出,但取決於數據的結構。

+0

閱讀周圍,使用IN似乎被再次建議。 – hexacyanide 2012-08-09 16:49:33

+1

取決於你想要得到什麼。 – 2012-08-09 16:50:56

2
SELECT m.data 
FROM mods m 
INNER JOIN users u ON m.data2 = u.data 
WHERE u.data2 = value 
+0

錯字:應該是... ON m.data2 = u.data2 – Vikram 2012-08-09 16:55:21

+0

@ Vikram:我不這麼認爲。除非我誤解了這個問題 - 第一個OP的查詢結果是'users.data'('SELECT users.data ...'),而不是users.data2 – a1ex07 2012-08-09 17:07:06

相關問題