Listar alunos inscritos no curso do Moodle com comando SQL

Listar alunos inscritos no curso do Moodle com comando SQL

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

Para mapear os alunos inscritos com perfil aluno em um determinado curso no Moodle diretamente no banco de dados, execute o seguinte comando SQL:

SELECT u.id, u.firstname,u.lastname, u.email FROM mdl_role_assignments rs INNER JOIN mdl_user u ON u.id=rs.userid INNER JOIN mdl_context e ON rs.contextid=e.id WHERE e.contextlevel=50 AND rs.roleid=5 AND e.instanceid=?

Passe o parâmetro id do curso em e.instanceid=?

Em resposta à Lino Vaz Moniz

Re: Listar alunos inscritos no curso do Moodle com comando SQL

por Celso Coelho -

E para exibir também o GRUPO ao qual o aluno está vinculado no curso ?


Tentei isto:

select DISTINCT aluno.username, aluno.firstname, aluno.lastname, polo.name, disciplina.fullname

FROM mdl_course disciplina

inner join mdl_groups polo on polo.courseid = disciplina.id

inner join mdl_groups_members alunos_polo on alunos_polo.groupid = polo.id

inner join mdl_user_enrolments pre_inscr on pre_inscr.userid = alunos_polo.userid

inner join mdl_role_assignments inscri on inscri.id = pre_inscr.enrolid

inner join mdl_user aluno on aluno.id = alunos_polo.userid

WHERE disciplina.id = 325 AND inscri.roleid = 5

Order by polo.name



Porém o resultado retorna também usuários com outros perfis que não são estudantes.

Poderia me ajudar nesta questão ?  :)