2012-03-30 69 views
-3

加入我與字段的表:MySQL的有兩列看着同桌

orderID 
collection 
delivery 
username 

集散的ID和對應的地址表中的記錄:

addressID 
address1 
address2 
address3 
town 
country 

如何我可以編寫一個查詢,顯示特定用戶名的所有訂單,但包含收集和交付的完整地址詳細信息。

+0

選擇訂單。*地址1爲collection_address1,addresses.address1從訂單 delivery_name留在orders.delivery = addresses.addressID 其中username = '克里斯' 但我只是得到相同的地址,加入相應的地址兩個集散:-( – Chris 2012-03-30 22:48:25

回答

2

你只需要爲你連接的表添加一個別名。

select * from orders 
join addresses collections on orders.collection = collections.addressID 
join addresses deliveries on orders.delivery = deliveries.addressID 
where username=<username> 
+0

嗨 SELECT * FROM訂單 上orders.collection加入收藏地址= collection.addressID 加入地址交付上orders.delivery = deliveries.addressID 給我:「未知列「集合.addressID'in'在條款「‘ SELECT * FROM訂單 上orders.collection加入收藏地址= addresses.addressID 加入地址交付上orders.delivery = addresses.addressID 給我:’未知列‘addresses.addressID’在」上條款'' 它幾乎必須在那裏? – Chris 2012-03-30 22:54:20

+0

對不起,我解決了這個問題。我沒有測試它......你看到加入地址後的單詞?這是你應該在條款 – haltabush 2012-03-30 22:58:56

+0

Boom,天才!它的工作原理,謝謝。 – Chris 2012-03-30 23:01:02