O comando SQL a seguir gera lista de usuário que estão inscritos em pelo menos um curso do Moodle com perfil de alunos. A lista excluiu usuários em seguintes situações:
- Não estão inscritos em nenhum curso
- Estão inscritos em um ou mais curso com perfil que não seja de aluno
SELECT DISTINCT u.id,u.firstname,u.lastname,u.username,u.email FROM mdl_user u INNER JOIN mdl_role_assignments rs ON u.id=rs.userid INNER JOIN mdl_role r ON r.id=rs.roleid WHERE r.shortname='student' AND rs.userid NOT IN (SELECT DISTINCT rs1.userid FROM mdl_role_assignments rs1 INNER JOIN mdl_role r1 ON r1.id=rs1.roleid WHERE rs1.userid=rs.userid AND r1.shortname !='student')