1

我有一个示例数据库:

Var1    Var2    Status
=========================
A1      SG1     Completed
A2      SG2     Completed
A2      SG1     Progress

状态可以是多达 10 种不同的状态。

我只想在所有行的状态为“已完成”时提取所有记录。这意味着在这种情况下不会拉出任何行。只有当 all rows = 'Completed' 时,它才会拉取整个数据库。

我怎样才能在最短的时间内实现这一目标?

4

1 回答 1

4
select Var1, Var2, Status
from MyTable
where not exists (select 1 from MyTable where Status != 'Completed')

有关演示,请参见 SQLFiddle

于 2012-10-23T14:21:10.140 回答