$quizattemptsrs = $DB->get_recordset_select('quiz_attempts', $where, $params, 'uniqueid');
$questionsessionsrs = $DB->get_recordset_sql("
- SELECT *
- FROM {question_sessions}
- WHERE attemptid IN (
- SELECT uniqueid FROM {quiz_attempts} WHERE $where)
- ORDER BY attemptid, questionid
+ SELECT s.*
+ FROM {question_sessions} s
+ JOIN {quiz_attempts} a ON (attemptid = uniqueid)
+ WHERE $where
+ ORDER BY attemptid, questionid
", $params);
$questionsstatesrs = $DB->get_recordset_sql("
- SELECT *
- FROM {question_states}
- WHERE attempt IN (
- SELECT uniqueid FROM {quiz_attempts} WHERE $where)
- ORDER BY attempt, question, seq_number, id
+ SELECT s.*
+ FROM {question_states} s
+ JOIN {quiz_attempts} ON (s.attempt = uniqueid)
+ WHERE $where
+ ORDER BY s.attempt, question, seq_number, s.id
", $params);
$datatodo = $quizattemptsrs && $questionsessionsrs && $questionsstatesrs;