Consultar alunos que nunca acessaram o curso no Moodle com SQL

Consultar alunos que nunca acessaram o curso no Moodle com SQL

por Lino Vaz Moniz -
Número de respostas: 0

O comando SQL  a seguir lista a relação dos alunos que nunca realizaram acesso a um curso no Moodle. Para mapear alunos que já acessaram ou pararam de acessar o curso, clique aqui

SELECT u.id,u.username,u.email,u.firstname,u.lastname  FROM mdl_role_assignments rs INNER JOIN mdl_context e ON rs.contextid=e.id INNER JOIN mdl_role r ON rs.roleid=r.id INNER JOIN mdl_user u ON rs.userid=u.id INNER JOIN mdl_enrol en ON e.instanceid=en.courseid INNER JOIN mdl_user_enrolments ue ON en.id=ue.enrolid  LEFT JOIN mdl_user_lastaccess ul ON (e.instanceid=ul.courseid AND rs.userid=ul.userid)  WHERE e.contextlevel=50 AND rs.userid=ue.userid AND ue.status = 0 AND en.status = 0 AND r.shortname='student' AND ul.timeaccess IS NULL AND en.courseid =?

Passe o parâmetro id do curso em en.courseid =? 

O comando a seguir adiciona novos campos no relatório como perfil do usuário. Gera lista de todos os perfis que nunca acessaram. Passar parâmetro nome breve de perfil no filtro

 SELECT u.id,u.username,u.email,u.firstname,u.lastname,u.username,r.name AS rolename,r.shortname AS roleshortname  FROM mdl_role_assignments rs INNER JOIN mdl_context e ON rs.contextid=e.id INNER JOIN mdl_role r ON rs.roleid=r.id INNER JOIN mdl_user u ON rs.userid=u.id INNER JOIN mdl_enrol en ON e.instanceid=en.courseid INNER JOIN mdl_user_enrolments ue ON en.id=ue.enrolid  LEFT JOIN mdl_user_lastaccess ul ON (e.instanceid=ul.courseid AND rs.userid=ul.userid)  WHERE e.contextlevel=50 AND rs.userid=ue.userid AND ue.status = 0 AND en.status = 0 AND ul.timeaccess IS NULL AND r.shortname=?  AND en.courseid =?

Passe o parâmetro id do curso em en.courseid =? 

Passe o parâmetro shortname do perfil  em r.shortname=?