2011-02-09 124 views
0

這些是我有(我得到這個)表:SQl的左連接查詢

table building: b_id(key relation with table build-works b_id):1 2 3 
field1: buildingA, buildingB, 
buildingC 

table build-works: b_id:1 1 2 3 3 3 
w_id: 1 2 1 1 2 3 

table works: w_id(key relation with table build-works w_id): 1 2 3 4 
field1: electricity, sanitary, shell, 
roofing 

現在我想知道每建築作品? 我怎麼能用sql做到這一點,你可以給我的例子也用zend_db? 感謝

回答

0

使用左聯接在標題

SELECT * 
FROM building b 
     LEFT JOIN buildworks bw 
     ON b.b_id = bw.b_od 
     LEFT JOIN works w 
     ON bw.w_id = w.w_id 
+0

我不需要指望什麼。 我只想知道什麼適用於哪個建築? – lander 2011-02-09 19:04:33

0

假設B_ID是建築的主鍵,(B_ID,w_id)是build_works鍵,w_id是關鍵的工作,你可以如下做到這一點:

Project_building.field1,工作。 field1(building JOIN build_works JOIN works)

請注意,在JOIN時,您必須將作品的field1重命名爲其他內容。

另請注意,這可能不是最有效的方法。自