From: jamiesensei Date: Sun, 20 Jul 2008 14:34:53 +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=162db417234cfbf32289a13d9b7eedbf6448cbc0;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/responses/report.php b/mod/quiz/report/responses/report.php index 4ca2b9b1c6..aed1073d9e 100644 --- a/mod/quiz/report/responses/report.php +++ b/mod/quiz/report/responses/report.php @@ -177,9 +177,16 @@ class quiz_responses_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, u.id AS userid, u.idnumber, u.firstname,'. + $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.institution, u.department, u.email, u.picture, '. 'qa.sumgrades, qa.timefinish, qa.timestart, qa.timefinish - qa.timestart AS duration ';