2014-10-17 71 views
-2

我有4個表是這樣的:可能選擇查詢

  • 爲了
  • CUSTOMER_TYPE
  • TYPE1
  • TYPE2

每個訂單都有一個客戶可以是type1type2。 在訂單表中,我有customerId,在customer_type中我有orderId以及該訂單的客戶類型。

我的問題是我怎樣才能與他的客戶訂單隻有一個選擇?

+0

請提供表結構與細節 – Affan 2014-10-17 09:20:20

+0

我認爲這些都是唯一的你需要的基本細節。訂單表具有關於訂單和客戶ID的詳細信息,Customer_Type表具有該訂單的訂單ID和客戶類型,而表type1和type2僅具有關於客戶的type1或type2的詳細信息。 – 2014-10-17 09:23:51

+0

我的問題是我怎樣才能只有一個選擇與他的客戶訂單? nd是什麼意思選擇??????我沒有得到您的問題 – Affan 2014-10-17 09:25:53

回答

0

可以使用union all操作人員進行type1type2充當一個表,並從那裏它只是一系列join S:

SELECT order_details, customer_details 
FROM orders o 
JOIN customer_type ct ON o.customerId = ct.id 
JOIN (SELECT *, 'type1' AS type 
     FROM type1 
     UNION ALL 
     SELECT *, 'type2' AS type 
     FROM type2) t ON t.type = ct.type 
+0

我的表不是這樣的。所以我們有訂單{Id,CustomerId,OrderDetails},customer_type {Id,CustomerType,OrderId},type1 {Id,CustomerDetails},type2 {Id,CustomerDetails},我想訂單和他的客戶 – 2014-10-17 09:41:50

+0

只需編輯你的問題,的表格以及它們之間的關係,正如@Affan最初提出的那樣,然後我們也許能夠幫助你。 – Mureinik 2014-10-17 09:47:22

+0

不再主宰,你給了我一個與工會所有人的理念,我設法將它應用到我的桌子上,所以我會給你一個正確的答案。感謝和抱歉我提出問題的方式。 – 2014-10-17 09:57:15