Oi pessoas, só alegria?
Vou compartilhar com vocês um comando SQL que estou mantando agora.
Preciso gerar uma lista com todas as notas de todas as atividades questionário de um determinado curso.
Para montar essa pesquisa, vamos a sopa de letrinha SQL.
1°Passo - Extrair lista questionário do curso
Vamos montar o comando em parte. Primeiro vamos fazer uma pesquisa na tabela geral de nota, extraindo todas as atividades do tipo questionário:
SELECT i.itemname,g.userid,g.finalgrade FROM mdl_grade_items i INNER JOIN mdl_grade_grades g ON i.id=g.itemid WHERE i.courseid=? AND itemtype='mod' AND itemmodule='quiz'
Passe parâmetro id do curso em i.courseid=?
Dando certo, vamos para o próximo passo:
2º Incluir alunos no relatório
Para incluir alunos no relatório anterior, basta fazer join na tabela mdl_user
SELECT g.userid,u.firstname, u.lastname, u.email, i.itemname,g.finalgrade FROM mdl_grade_items i INNER JOIN mdl_grade_grades g ON i.id=g.itemid INNER JOIN mdl_user u ON u.id=g.userid WHERE i.courseid=? AND itemtype='mod' AND itemmodule='quiz'
Passe parâmetro id do curso em i.courseid=?
Embora usamos esse comando para extrair relatório de nota no questionário, podemos usar para extrair relatórios em qualquer outro módulo, basta alterando o parâmetro itemmodule='quiz'