我有两张桌子:
我正在尝试使用此查询查找未分类的产品:
SELECT * FROM `jp_harley_products`
WHERE product_id NOT IN
(SELECT p_cat_product_id
FROM jp_harley_product_cats )
也尝试了这个:
SELECT p.product_id,pc.p_cat_product_id
FROM `jp_harley_products` p
LEFT JOIN `jp_harley_product_cats` pc on pc.p_cat_product_id = p.product_id
我的PHPmyAdmin无法处理此问题,因为它没有显示任何结果。 在harley_product_cats中,我有以下列:产品ID,Cat ID ,所以基本上我想要获得与 harley_product_cats 无关的产品
任何人都可以帮我吗?
答案 0 :(得分:0)
您需要为IS NULL
一个LEFT JOIN
添加一个工作。
SELECT p.product_id, pc.p_cat_product_id
FROM `jp_harley_products` p
LEFT JOIN `jp_harley_product_cats` pc on pc.p_cat_product_id = p.product_id
WHERE p.product_id IS NULL
或尝试使用WHERE NOT EXISTS
SELECT p.product_id, pc.p_cat_product_id
FROM `jp_harley_products` p
WHERE NOT EXISTS (SELECT 1 FROM jp_harley_product_cats pc WHERE p.product_id = pc.p_cat_product_id );