2011-01-25 21 views
2

クラスの生徒の合計数を取得します。 SQLクエリがSQLクエリは、私は、このSQLクエリを持って

ID   CLASS   STUDENT_COUNT 
1    Math    0 
2    Biology   2 
3    Algebra   1 
4    Literature  5 

のようなものを返すべき問題は、e.approved = 1の私はまったくのクラスを取得しないということです。提案?

クラステーブルに次のように

私のスキーマがある

id, teacher_id, class_name, grade 

入学者テーブル

id, class_id, student_id, approved 

答えて

4

左側に参加e.approved条件を使用するクエリに変更します。

SELECT c.id as ID, c.class_name as CLASS, COUNT(e.student_id) AS STUDENT_COUNT 
FROM classes as c 
LEFT JOIN enrollments as e on e.class_id = c.id 
AND e.approved = 1 
where c.teacher_id = 8 
group by c.class_name; 
+0

ありがとうございました。 – user253530

関連する問題