私は3つのテーブルを持っています。
- テーブル
SCHOOL
:schoolcode(PK)、year、schoolname。 - 表
ENROLMENT
:学校コード、年、クラス名、登録 - 表
CLASS
:学校コード、年、分類、部屋
ここで、クラス名が1から4に登録されている学校のリストと、クラス1から4で使用されている教室の数を見つけたいと思います。
次のクエリを使用しました。
select
m.schoolcode, m.schoolname, sum(e.c1+e.c2+e.c3+e.c4), sum(c.rooms)
from
dise2k_enrolment09 e, dise2k_master m, dise2k_clsbycondition
where
m.schoolcode = e.schoolcode
and m.schoolcode = c.schoolcode
and e.year = '2011-12' and m.year = '2011-12' and c.year = '2011-12'
and classid in (1,2,3,4)
and e.classname in (1,2,3,4)
group by
m.schoolcode, m.schoolname
しかし、表示される結果は正しくありません。教室の場合と同じように、登録は実際よりもはるかに高くなっています。