2012-09-17 120 views
0

我正在使用MYSQL數據庫。SQL JOIN,還是兩個選擇?

我有以下:

tbl1 

ID(p) | FID(p) 
1  7 
2  7 
2  8 
7  2 
3  9 

tbl2 

DATA(p) | ID(f) 
AAA  7 
BBB  7 
CCC  8 

我需要選擇ALL FID其中ID = 2從TBL1(7,8) 我然後需要選擇的所有數據,其中ID =所述第一查詢的結果(返回AAA,BBB,CCC)

這可以在一個或兩個查詢中完成嗎?如果你能指出我正確的操作員的方向,我可以解決它。

謝謝!

回答

4
SELECT b.DATA 
FROM tbl1 a 
LEFT JOIN tbl2 b ON b.ID = a.FID 
WHERE a.ID = 2 

返回結果:

AAA 
BBB 
CCC

+0

所以將'從tbl2中選擇DATA' – xception

+0

@xception您應該提交該答案作爲答案。 – Kermit

+0

這顯然不是他要找的東西,我只是在說明明顯的情緒,我投了你的答案,我只是覺得很有趣。 – xception

2

正確的運算符是JOIN。祝你好運。

0

我不是需要被加入,但像什麼非常清楚:

SELECT * FROM tbl2 INNER JOIN (SELECT * FROM tbl1 WHERE ID=2) a ON a.FID=tbl2.ID 
+0

我不認爲這裏需要子查詢。這可能會稍微更昂貴。 – Kermit

0

您可以使用 「INNER JOIN」 來從多個表中選擇多個字段。

SELECT T1.FID, T2.DATA 
FROM tbl1 T1 
WHERE T1.ID = 2 
INNER JOIN tbl2 T2 
ON T1.ID = T2.ID