mysql精细特定订单类别
我有两张桌子。订单和产品订单。 订单表如下所示: 我想获得订单,在那里添加一些特定类别的产品。例如,我想知道哪些订单没有类别2、3和4。在这里,订单id:3具有类别id:3,4,7。但是订单号4有类别号5,7。因此,订单编号:3未完全满足要求。 我主要关心的是,找到那些没有特定产品类别的订单。如果任何订单有多个类别,如果存在阻止类别,则不可接受mysql精细特定订单类别,mysql,sql-order-by,Mysql,Sql Order By,我有两张桌子。订单和产品订单。 订单表如下所示: 我想获得订单,在那里添加一些特定类别的产品。例如,我想知道哪些订单没有类别2、3和4。在这里,订单id:3具有类别id:3,4,7。但是订单号4有类别号5,7。因此,订单编号:3未完全满足要求。 我主要关心的是,找到那些没有特定产品类别的订单。如果任何订单有多个类别,如果存在阻止类别,则不可接受 实际上,我需要订购其他类别产品的客户id。如果在一个订单中同时有3和5,我们不允许他在此筛选列表中。我们需要知道谁订购了除2、3和4类以外的产品。根据
实际上,我需要订购其他类别产品的客户id。如果在一个订单中同时有3和5,我们不允许他在此筛选列表中。我们需要知道谁订购了除2、3和4类以外的产品。根据我的理解,您可以在此查询:
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)
希望它能帮助您。您需要聚合后筛选
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
您是否可以尝试重新设置表的格式以确保其易读性?您处理的是SQL表还是HTML表?上面的HTML是从后端SQL表生成的吗?请澄清您的问题。请检查表结构此处没有类别id。第二个表有订单id和类别id。谢谢,实际上我需要订购其他类别产品的客户id。如果在单个订单中同时包含3和5,则我们不允许使用此筛选列表。我们需要知道谁订购了不包括2、3和4类的产品