我有一个包含如下所示值的表
Sno | orderno | partno |
---|---|---|
101 | OCT1 | oRing |
101 | OCT1 | Gasket |
101 | OCT1 | Case |
101 | OCT2 | gRing |
101 | OCT2 | Gasket |
101 | OCT2 | Cover |
101 | OCT3 | Case |
101 | OCT3 | Gasket |
102 | OCT1 | Gasket |
我要删除每个SNO的所有订单(OCT1、OCT2、OCT3)中共有的值.输出还应该包括orderno,如下所示.在这里,垫圈是可用的所有订单101,所以我想删除它,但情况是只有2个顺序使用3,所以我不能删除它.
Sno | orderno | partno |
---|---|---|
101 | OCT1 | oRing |
101 | OCT1 | Case |
101 | OCT2 | gRing |
101 | OCT2 | Cover |
101 | OCT3 | Case |
102 | OCT1 | Gasket |
我try 了下面的代码,但不起作用.请帮助/建议
select * from mytable where partno not in (
select max(partno) from mytable
group by sno
having count(orderno)=count(partno))