Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql精细特定订单类别_Mysql_Sql Order By - Fatal编程技术网

mysql精细特定订单类别

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类以外的产品。根据

我有两张桌子。订单和产品订单。 订单表如下所示:

我想获得订单,在那里添加一些特定类别的产品。例如,我想知道哪些订单没有类别2、3和4。在这里,订单id:3具有类别id:3,4,7。但是订单号4有类别号5,7。因此,订单编号:3未完全满足要求。 我主要关心的是,找到那些没有特定产品类别的订单。如果任何订单有多个类别,如果存在阻止类别,则不可接受


实际上,我需要订购其他类别产品的客户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类的产品