私は2つのテーブルを持っています、
学生:
rollno | name
1 | Abc
2 | efg
3 | hij
4 | klm
出席:
name | date |status
Abc | 10-10-2013 | A
efg | 10-10-2013 | A
Abc | 11-10-2013 | A
hij | 25-10-2013 | A
私の必要な出力は次のとおりです。
where 条件を「'10-09-2013' と '13-10-2013' の間の日付」とするクエリ
rollno| name |count
1 | Abc | 2
2 | efg | 1
3 | hij | 0
4 | klm | 0
私は使用してみました:
SELECT p.rollno,p.name,case when s.statuss='A' then COUNT(p.rollno) else '0' end as count
from attendance s
right outer join student p
on s.rollno=p.rollno
where s.date between '10-09-2013' and '13-10-2013'
group by p.rollno,p.regno,p.name,s.statuss
order by p.rollno
出力は次のとおりです。
rollno| name |count
1 | Abc | 2
2 | efg | 1
学生テーブルの残りの値も追加したいと思います。さまざまなクエリを試しましたが、すべて失敗しました。上記の必要な出力を返すクエリはありますか?