2010-09-14 35 views
1

我有4個表,交易,訂單 - 超,然後Site_Orders和Product_Orders子類型如何在基於子類型的查詢中選擇表?

[Transactions] 
id PK 
Orders_id [FK Orders.orders_id] 

[Orders] 
Orders_id PK 
Orders_type 

[Site_Orders] 
Orders_id [FK Orders.orders_id] 
== other data == 

[Product_Orders] 
Orders_id [FK Orders.orders_id] 
== other data == 

我的問題是,如何創建一個連接語句,將拉動交易和關聯,並搶在正確的信息子類型表?或者我將不得不使用PHP來檢查子類型並在那裏完成邏輯?

感謝

回答

2
SELECT ... 
FROM Orders o 
JOIN Transactions t ON t.Orders_id = o.Orders_id 
LEFT OUTER JOIN Site_Orders so 
    ON so.Orders_id = o.Orders_id AND o.Orders_type = 'S' 
LEFT OUTER JOIN Product_Orders po 
    ON po.Orders_id = o.Orders_id AND o.Orders_type = 'P'