$sql = "SELECT courseid, coursename, sum(points) / sum(maxpoints) as percentage FROM (
SELECT a.id, a.course as courseid, c.fullname as coursename, atl.studentid AS userid, COUNT(DISTINCT ats.id) AS numtakensessions,
SUM(stg.grade) AS points, SUM(stm.maxgrade) AS maxpoints
- FROM mdl_attendance_sessions ats
- JOIN mdl_attendance a ON a.id = ats.attendanceid
- JOIN mdl_course c ON c.id = a.course
- JOIN mdl_attendance_log atl ON (atl.sessionid = ats.id)
- JOIN mdl_attendance_statuses stg ON (stg.id = atl.statusid AND stg.deleted = 0 AND stg.visible = 1)
+ FROM {attendance_sessions} ats
+ JOIN {attendance} a ON a.id = ats.attendanceid
+ JOIN {course} c ON c.id = a.course
+ JOIN {attendance_log} atl ON (atl.sessionid = ats.id)
+ JOIN {attendance_statuses} stg ON (stg.id = atl.statusid AND stg.deleted = 0 AND stg.visible = 1)
JOIN (SELECT attendanceid, setnumber, MAX(grade) AS maxgrade
- FROM mdl_attendance_statuses
+ FROM {attendance_statuses}
WHERE deleted = 0
AND visible = 1
GROUP BY attendanceid, setnumber) stm