2016-12-18 45 views
-1

我兩個表獲取不存在於表

product_categories 
------------------ 
id PK AUTO 
category 

store_product_categories 
------------------------ 
id PK AUTO 
store_id FK 
category FK (product_categories id) 

現在我想不在store_product_categories

這是我設計的查詢中的行,但沒有給我結果行

SELECT * FROM store_product_categories spc 
    LEFT JOIN product_categories pc 
    on spc.category=pc.id 
    WHERE spc.store_id=23 AND pc.id IS NULL 
+0

該查詢看起來是正確的,你確定你有數據應該有任何結果嗎? –

+1

在您的問題 –

+0

中爲兩個表添加示例值,您現在已經得到了一個答案。如果這樣不能解決問題,那麼我的第一條評論就適用 –

回答

2

不能從store_product_categories選擇讓不在該錶行。所以,我猜測,你想類別不在表:

SELECT pc.* 
FROM product_categories pc LEFT JOIN 
    store_product_categories spc 
    ON spc.category = pc.id AND spc.store_id = 23 
WHERE spc.category IS NULL; 

注意spc_store_id = 23ON子句中,因爲條件是在第二個表。

+0

此查詢已投入使用!也謝謝你的解釋!而這正是我想要的。謝謝:) – Stan

相關問題