选择仅包含特定状态的子表

时间:2015-05-08 03:16:56

标签: sql oracle

主表:

orderno    status
======     ======
123        ACTIVE
456        INACTIVE

子表示例,我想选择新的和关闭状态:

orderno     status
=======     ======
123         NEW
123         CLOSE
123         PENDING
123         PENDING

结果:未选择行

子表示例,我想选择新的和关闭状态:

orderno     status
=======     ======
456         NEW
456         NEW
456         CLOSE
456         CLOSE

result2:成功选择orderno 456 out。

1 个答案:

答案 0 :(得分:-1)

SELECT orderno,sum(decode(status,'NEW',0,'CLOSE',0,1))
FROM test1 group by orderno 
having sum(decode(status,'NEW',0,'CLOSE',0,1))=0;

这是表数据(Test1)和o / p

123 NEW
123 CLOSE
123 PENDING
456 NEW
456 CLOSE

456 0