mysql 精细具体命令类别

标签 mysql sql-order-by

我有两张 table 。订单和产品订单。 订单表如下:

enter image description here

我想要获取订单,其中添加了一些特定类别的产品。比如我的例子,我想知道哪些订单没有category_id 2、3和4。这里order_id: 3有category_id: 3,4,7。但 order_id: 4 的category_id: 5,7。所以 order_id: 3 不完全满足要求。 我主要关心的是,找到那些没有特定产品类别的订单。如果任意订单有多个category,如果存在阻塞category_d,则 Not Acceptable 。

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

希望对你有帮助..

关于mysql 精细具体命令类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34083994/

相关文章:

mysql - SQL如何分组

mysql - 我如何根据 mySQL 中的另一列选择一列?

mysql - 使用 LIMIT 时获取总行数?

mysql - 如何用go连接mysql?

MySQL 查询按多列排序

php - MySQL/PHP 按位置排序

mysql - MySQL 中的顺序排序

php - Yii2和名为user_type的表与用户表的用户模型的关系问题

mysql - 最近从 sqlite 切换到 mysql。需要在c中转换一些代码

php - 按贝叶斯评级排序数据库结果