2011-08-29 64 views
-1

我有3個表具有以下關係。SQL服務器查詢幫助

TABLE_A: 
A_ID 
Name 

TABLE_B: 
B_Id 
B_DESC 
A_ID 

TABLE_C: 
    C_ID 
    C_DESC 
    B_ID 

我想寫下面的查詢來獲得結果。對於每個A_ID,TABLE_B中有許多行,並且TABLE_C對於每個B_ID都有許多行。您能否讓我知道如何將查詢寫入結果?謝謝你的幫助。

SELECT B_ID, B_DESC, C_DESC FROM TABLE_B B JOIN TABLE_C C on B.B_Id = C.C_ID WHERE A_ID = 4 

的格式,我試圖讓:

B_ID B_DESC 
     C_DESC1 
     C_DESC2 
     ....... 
    B_ID B_DESC 
     C_DESC1 
     C_DESC2 
     C_DESC3 

感謝您的幫助。

+0

我不認爲我的查詢是正確的。我正在嘗試爲A_ID獲得許多結果。 – nav100

回答

0

這將讓你開始...

SELECT * FROM TABLE_A A INNER JOIN TABLE_B B ON (B.A_ID = A.A_ID) INNER JOIN TABLE_C C ON (C.B_ID = B.B_ID) WHERE A.A_ID = 4

0
select * 
from TABLE_A ta 
join TABLE_B tb on tb.A_ID = ta.A_ID 
join TABLE_C tc on tc.B_ID = tb.B_ID 
where ta.A_ID = 4 
1

你即將加入B_ID到C_ID;請嘗試以下操作:

SELECT 
B_ID, 
B_DESC, 
C_DESC 
FROM 
TABLE_B B 
JOIN TABLE_C C 
    on B.B_ID = C.B_ID 
WHERE A_ID = 4 
+0

該查詢只從TABLE_C中查詢一行。對於每個TABLE_B行,我在TABLE_C中有很多行。我正在嘗試獲取TABLE_B和TABLE_C之間的主詳細記錄。 – nav100

+0

這將爲TABLE_C中的所有行檢索C_DESC,這些行的B_ID與A_ID = 4的任何TABLE_B行匹配。如果您只獲取一行,則TABLE_B中有一行,A_ID = 4,TABLE_C中有一行,B_ID與在TABLE_B行中。 –