2013-02-24 44 views
2

我有一個父表A和子表B.查詢讀取子錶行的每個父表ID

Parent Table A 
--------------- 
AID, 
AName, 
Acode 

Child Table B 
------------- 
AID, 
BID, 
BName, 
BCode 

我試圖形成一個查詢檢索從A行,並從相應的行B代表每個AID。所以基本上結果是A的所有行和每個AID的B的行。我希望我有道理。我需要使用連接嗎?

回答

6

您將使用JOIN表之間:

select a.aid, 
    a.aname, 
    a.acode, 
    b.bname, 
    b.bcode 
from tableA a 
inner join tableB b 
    on a.aid = b.aid 

JOIN將是aidtableAaidtableB之間。我使用了一個INNER JOIN,它將返回兩個表中存在的所有行。如果要返回tableA中的所有行,即使在tableB中沒有匹配的行,您也將使用LEFT JOIN

如果您需要幫助學習連接語法,這裏是一個偉大的visual explanation of joins

1

是你做的。

從tableA中選擇a。*,b。* a.AID = b.AID的內部聯接TableB b;