From c5129f59e69fd22849396bf49fa8bc38c1aaed46 Mon Sep 17 00:00:00 2001 From: skodak Date: Wed, 4 Mar 2009 13:34:20 +0000 Subject: [PATCH] MDL-16852 fixed left join trouble --- course/report/participation/index.php | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/course/report/participation/index.php b/course/report/participation/index.php index 4099f27857e..d2e765ff52c 100644 --- a/course/report/participation/index.php +++ b/course/report/participation/index.php @@ -185,11 +185,8 @@ $sql = "SELECT ra.userid, u.firstname, u.lastname, u.idnumber, COUNT(l.action) AS count FROM {$CFG->prefix}role_assignments ra JOIN {$CFG->prefix}user u ON u.id = ra.userid - LEFT OUTER JOIN {$CFG->prefix}log l ON l.userid = ra.userid - WHERE ra.contextid $relatedcontexts AND ra.roleid = $roleid AND - (l.id IS NULL OR - (l.cmid = $instanceid AND l.time > $timefrom AND $actionsql) - )"; + LEFT OUTER JOIN {$CFG->prefix}log l ON (l.userid = ra.userid AND l.cmid = $instanceid AND l.time > $timefrom AND $actionsql) + WHERE ra.contextid $relatedcontexts AND ra.roleid = $roleid"; if ($table->get_sql_where()) { $sql .= ' AND '.$table->get_sql_where(); //initial bar @@ -204,11 +201,8 @@ $countsql = "SELECT COUNT(DISTINCT(ra.userid)) FROM {$CFG->prefix}role_assignments ra JOIN {$CFG->prefix}user u ON u.id = ra.userid - LEFT OUTER JOIN {$CFG->prefix}log l ON l.userid = ra.userid - WHERE ra.contextid $relatedcontexts AND ra.roleid = $roleid AND - (l.id IS NULL OR - (l.cmid = $instanceid AND l.time > $timefrom AND $actionsql) - )"; + LEFT OUTER JOIN {$CFG->prefix}log l ON (l.userid = ra.userid AND l.cmid = $instanceid AND l.time > $timefrom AND $actionsql) + WHERE ra.contextid $relatedcontexts AND ra.roleid = $roleid"; $totalcount = count_records_sql($countsql);