我想获得订单,其中添加了一些特定类别的产品。这样我的例子我想知道哪些订单没有category_id 2,3和4.这里order_id:3有category_id:3,4,7。但order_id:4有category_id:5,7。所以order_id:3没有完全满足要求。 我主要担心的是,找到那些没有特定产品类别的订单。如果任何订单有多个类别,那么阻止category_d存在的情况下是不可接受的。
实际上我需要订购其他类别产品的customer_id。如果在单个订单中同时包含3和5,我们不允许他在此过滤列表中。我们需要知道谁订购的产品不包括2,3和4类
答案 0 :(得分:0)
根据我的理解,这可以是您的查询:
SELECT DISTINCT o.order_id
FROM order o, order_category oc
WHERE
o.order_id = oc.order_id
AND
oc.category_by NOT IN (2,3,4)
希望它会帮助你..
答案 1 :(得分:0)
您需要发布聚合过滤
SELECT order_id FROM order_category
GROUP BY order_id
HAVING SUM(category_by=2)=0
AND SUM(category_by=3)=0
AND SUM(category_by=4)=0