我有两个列,我正在查看一个用于作业单,一个用于每个作业单的操作号,有一系列操作1-4,所以它看起来像。
Job Order Operation
------------------------
00023 1
00023 2
00023 3
00023 4
00024 1
00024 2
00024 3
00024 4
00025 1
00025 2
00025 3
00025 4
00026 2
00026 3
00026 4
我想显示缺少操作1的所有作业订单。在此示例中,由于它们将被分组,因此我只会看到作业订单00026的一个实例,因为这是唯一缺少操作1的作业单。 期望的输出看起来像
Job Order
---------------
00026
答案 0 :(得分:3)
select Job_Order
from your_table
group by Job_Order
having min(Operation) > 1
答案 1 :(得分:1)
有几种解决方案:
select distinct job_order from table
where job_order not in (select job_order
from table
where operation = 1)
另一个是:
select distinct t1.job_order from table t1
where not exists (select *
from table t2
where t2.operation = 1 and t2.job_order = t1.job_order)
接下来可能是:
select distinct job_order
from table
except
select job_order
join table
where operation = 1