Mysql Query查找特定列值不存在的特定行

时间:2015-01-20 09:57:31

标签: mysql rows records

我处境非常复杂。我知道用sql可以实现我的目标。这就是我想要实现的目标:

我只有一个名为'data'的表

我有4列名称orderDate,orderID,orderDescription&订单类型

我的表中有4种类型的'orderType'值,分别是Order,Refund,Returned,Adjustment。如果发生任何这种情况,orderid将对每个'OrderType'保持相同。

现在,我想要实现的是按如下方式过滤我的数据。

仅选择那些表中不存在“orderType”列(返回和调整)的orderID记录。

我真的很期待你的帮助。

1 个答案:

答案 0 :(得分:0)

select orderid
from data
group by orderid
having sum(ordertype in ('Returned', 'Adjustment')) = 0
   and sum(ordertype = 'Refund') > 0 
   and sum(ordertype = 'Order') > 0 

或只是

select orderid
from data
group by orderid
having sum(ordertype not in ('Refund', 'Order')) = 0
and count(distinct ordertype) = 2