SQL:选择符合特定字段中某些条件的行

时间:2013-03-05 21:17:55

标签: mysql sql

我有一种情况需要从DB表中选择行,这取决于列的值。

Project    Version     Status

MSS           3         active
MSS           2         active 
MSS           1         complete 
RIL           3         active
RIL           2         active  
RIL           1         active
DT            2         complete
DT            1         complete

只有当项目的所有版本都完整时,才认为项目已完成。这意味着当状态列在表的项目列中的所有相同项目中都“完成”时。

如何只选择那些完整的项目?

2 个答案:

答案 0 :(得分:2)

select project
from MyTable
group by project
having count(*) = sum(case when status = 'complete' then 1 else 0 end)

答案 1 :(得分:0)

SELECT * FROM MyTable
WHERE Project IN
(SELECT Project FROM MyTable WHERE Status = 'complete')