【发布时间】:2014-01-12 15:14:07
【问题描述】:
我有这两张桌子:
学生:
id_pupil
name
surname
email
user
pass
level
class
事件:
id_incidents
date
time
type_incident(miss, delay or attitude)
comments
id_pupil
id_user
subject
id_trimester
我想得到这个:
我写这个:
select pupils.id_pupil, name, surname, count(type_incident) as misses
from pupils left join incidents using (id_pupil)
where type_incident='miss' and level=1 and class='B' and id_trimester=1
group by id_pupil
我得到了每个学生未命中的列。但是,我没有得到空值,因为我还想得到 0 次未命中的学生。
延迟和态度也是如此:
select pupils.id_pupil, name, surname, count(type_incident) as misses
from pupils left join incidents using (id_pupil)
where type_incident='delay' and level=1 and class='B' and id_trimester=1
group by id_pupil
select pupils.id_pupil, name, surname, count(type_incident) as misses
from pupils left join incidents using (id_pupil)
where type_incident='attitude' and level=1 and class='B' and id_trimester=1
group by id_pupil
我想把所有东西都放在图片上描述的同一张桌子上。
谢谢!
【问题讨论】: