2013-01-01 168 views
0

可能重複:
SQL - find records from one table which don’t exist in another查找記錄

我有以下的(簡化)架構在MySQL:

simplified schema

箭頭表示許多(箭頭側)關係中的一個(非箭頭側)。

我想確定哪個delivery_zone_weeks客戶沒有每週訂單。

+1

你可以包括你的數據庫架構? – Sablefoste

+0

請還包括您希望創建的查詢中的少數示例結果集行。 –

+0

另請參閱http://stackoverflow.com/questions/544094/mysql-finding-rows-that-dont-take-part-in-a-relationship?rq=1。這些都列在** Related **補充工具欄中,你怎麼在你的搜索中錯過它們? – Barmar

回答

0

這是很難完全理解沒有結構,樣本數據和預期的結果,但似乎冒着有點你需要

SELECT * FROM DELIVERY_ZONE_WEEK WHERE ID_DELIVERY_ZONE_WEEK NOT IN 
(SELECT WO.ID_DELIVERY_ZONE_WEEK FROM CUSTOMER C 
JOIN SHIPPING_ADDRESS SA 
    ON C.ID_CUSTOMER = SA.ID_CUSTOMER 
JOIN WEEKLY_ORDER WO 
    ON SA.ID_SHIPPING = WO.ID_SHIPPING 
WHERE C.ID_CUSTOMER = @ID_CUSTOMER)