From: jamiesensei Date: Sun, 20 Jul 2008 12:52:14 +0000 (+0000) Subject: MDL-15198 "non-standard sql in reportlib.php" using CASE statement to wrap logic... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=55caa1d5dcb153bf9f56010810006ab1969168cc;p=moodle.git MDL-15198 "non-standard sql in reportlib.php" using CASE statement to wrap logic in fields list --- diff --git a/mod/quiz/report/overview/report.php b/mod/quiz/report/overview/report.php index c436508de4..9a467544c9 100644 --- a/mod/quiz/report/overview/report.php +++ b/mod/quiz/report/overview/report.php @@ -247,9 +247,16 @@ class quiz_overview_report extends quiz_default_report { // Construct the SQL - $fields = $DB->sql_concat('u.id', '\'#\'', 'COALESCE(qa.attempt, \'0\')').' AS uniqueid, '. - ($qmsubselect?"($qmsubselect) AS gradedattempt, ":''). - 'qa.uniqueid AS attemptuniqueid, qa.id AS attempt, ' . + $fields = $DB->sql_concat('u.id', '\'#\'', 'COALESCE(qa.attempt, \'0\')').' AS uniqueid, '; + if ($qmsubselect) { + $fields .= + "(CASE " . + " WHEN $qmsubselect THEN 1" . + " ELSE 0 " . + "END) AS gradedattempt, "; + } + + $fields .='qa.uniqueid AS attemptuniqueid, qa.id AS attempt, ' . 'u.id AS userid, u.idnumber, u.firstname, u.lastname, u.picture, u.imagealt, '. 'qa.sumgrades, qa.timefinish, qa.timestart, qa.timefinish - qa.timestart AS duration ';