2011-02-09 213 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重命名为其他内容。

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