2017-07-28 7 views
0

はのは、私は以下のようなテーブルTask_statusを持っているとしましょう:完了したすべてのタスクのエントリを特定するにはどうすればよいですか?

id TaskId SubTaskId status 
1 1   1  Complete 
2 1   2  Complete 
3 1   3  Complete 
4 2   4  InProgress 
5 2   5  Complete 

私はそのすべての子タスクが完了しているすべてのtaskIdを見つけたいです。どのように私はそのクエリを書くことができますか?

+0

何を試しましたか?動作していないクエリのコードを投稿してください。 – Rominus

答えて

2

group byhavingを使用して、タスクごとの行数が完了ステータスの行数に等しいかどうかを確認します。

select taskId 
from tbl 
group by taskId 
having count(*) = sum(status='Complete') 
+0

恐ろしい感謝:) –

関連する問題