0

コース管理システムで講師の月次出席レポートを作成したいと考えています。このレポートでは、ネストされた選択クエリを使用して、特定のレコードで講師の有無をカウントする必要があります。メインクエリで処理している講師コードと講師コードが同じであれば、出席状況ごとに select ステートメントを使ってカウントする方法が考えられます。

select lecturers.*, sum(distinct courses.credit) as 'Due Credits',(select count(*) from attendances where status='1' ) as Present, (select count(*) from attendances where status='0' ) as Absent from lecturers,courses,attendances
 where attendances.lecturer_code=lecturers.code 
 AND courses.lecturer_code=lecturers.code 
 group by lecturer_code

[コード、氏名、所属、役職、学位は固定属性]

もっといい方法があれば知りたい!

どうもありがとう!

4

1 に答える 1

0
SELECT   lecturers.*,
         SUM(DISTINCT courses.credit) AS `Due Credits`,
         SUM(attendances.status = 1)  AS `Present`,
         SUM(attendances.status = 0)  AS `Absent`,
FROM     lecturers
    JOIN courses     ON     courses.lecturer_code = lecturers.code
    JOIN attendances ON attendances.lecturer_code = lecturers.code
GROUP BY lecturer_code
于 2012-12-02T10:41:36.903 に答える