2012-12-26 69 views
2

我在SQL數據庫中有三個表。這個關係系統是由其他人設計的,但我被要求創建一個新的查詢,因爲他不再爲公司工作。我將使用樣本名稱作爲保密目的。如何根據單個字段查詢三個表

  1. 客戶
    CUSTOMER_ID
    PRODUCT_CODE
    product_color
    product_size
    ...

  2. customer_link
    CUSTOMER_ID
    product_i d

  3. customer_stats
    的product_id
    product_actual_product
    product_actual_color
    product_actual_size
    ...

該系統被設計爲用戶在系統中輸入信息,並有多個產品每個客戶。在客戶中,顯示的字段是由(1)至(2)中的customer_id鏈接的所有代碼。然後根據(2)中的多個記錄,使用相同的customer_id和不同的product_id,可以在(2)和(3)之間有兩個鏈接。 (3)具有鏈接的product_id和(1)中列出的代碼的實際文本。

底線是我需要一個基於(1)中的字段但存儲在(3)中的數據的SELECT語句。哇,我很困惑,真的可以使用一些幫助。

+1

鏈接也許你也應該說明你是什麼數據庫系統使用。 – s1lence

+0

您確定客戶表格包含有關產品代碼,顏色,尺寸等的信息嗎?如果是這樣,那麼設計可能會被破壞。我真誠地希望這是某種副本'''的錯誤! (我並不完全相信客戶統計表中的列......但我意識到這是模擬真實數據庫中的內容。) –

+0

如果您將一些樣本數據和期望值輸出。 –

回答

4

這應該是非常簡單的,

SELECT a.*, c.* 
FROM customer a 
     INNER JOIN customer_link b 
      ON a.customer_ID = b.customer_ID 
     INNER JOIN Customer_stats c 
      ON b.product_id = c.product_id 

要了解更多關於連接,請參見下面