下面是我要执行的 SQL。我想避免为此做多个请求,我很确定这是可能的……</p>
First table : products_categories (category_id, category_infos…)
Second table : products_categories_relations (product_id, category_id)
Third table : products (product_id, published, products_infos…)
我想找到所有空类别(其中没有产品)和只有未发布产品的类别。第二部分是我卡住的地方。
SELECT pc.`category_id`
FROM `#__products_categories` AS pc
LEFT JOIN `#__products_categories_relations` pcr
ON pc.`category_id` = pcr.`category_id`
WHERE pcr.`category_id` IS NULL
这个查询给了我没有产品的类别,但我看不到如何插入一个条件来说:
“对于每个包含产品的类别,返回仅包含已发布 = 0 的产品的类别”
我的分析是:
如果 A 是查询“没有产品的类别”
的结果,而 B 是“只有未发布产品的类别”的结果,
我需要 A OR B 中的类别。