【发布时间】:2016-10-07 18:04:53
【问题描述】:
我有一个 Oracle 数据库表,其中
我在这个特定的表中有很多列,但我想根据下面描述的两列之间的计算得到结果
Project|Status
-------|--------
1 | Done
1 | Pending
2 | Done
我想获取待处理项目的计数,例如,如果项目 1 的状态为待处理,并且它在表中的任何地方都没有完成状态,那么它将是待处理的任务,但如果项目 1 具有待处理的状态并且在任何其他行的表中也有一个完成状态,那么这将不是一个待处理的任务,
我已尝试过此查询,但它返回的行同时具有待处理和已完成状态,
SELECT * FROM MYTABLE T
WHERE EXISTS
(SELECT 1 FROM MYTABLE WHERE Project = A.Project AND ROWID < A.ROWID AND
Status ='Done')
AND T.Status!='Done' AND T.Status='Pending'
@更新 我在此列中还有其他状态值,例如“部分完成”和“已请求”,因此我只想获取那些在整个表中只有待处理状态且没有“完成”状态的项目。
【问题讨论】: