Relatório de alunos que completaram o curso com comando SQL

Relatório de alunos que completaram o curso com comando SQL

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

Para gerar diretamente na base de dados a lista de alunos que já completaram o curso com comando SQL, basta executa o seguinte camando:

SELECT DISTINCT ue.id,en.courseid AS courseid,u.firstname,u.lastname,u.email,r.name AS rolename,r.shortname AS roleshortname,en.status AS methodstatus,en.enrol AS methodplugin,ue.status AS enrolstatus,ue.timestart,ue.timeend,p.timecompleted,c.fullname AS course, c.id AS courseid   FROM mdl_role_assignments rs INNER JOIN mdl_user u ON u.id=rs.userid INNER JOIN mdl_role r ON rs.roleid=r.id INNER JOIN mdl_context e ON rs.contextid=e.id  INNER JOIN mdl_enrol en ON  e.instanceid=en.courseid  INNER JOIN mdl_user_enrolments ue ON en.id=ue.enrolid  INNER JOIN mdl_course_completions p ON p.course=en.courseid INNER JOIN mdl_course c ON c.id=en.courseid WHERE e.contextlevel=50 AND rs.userid=ue.userid AND   p.userid=rs.userid  AND p.timecompleted > 0  ORDER BY p.timecompleted DESC

 

Em resposta à Lino Vaz Moniz

Re: Relatório de alunos que completaram o curso com comando SQL

por Damião Alves -

Prezados,

Boa tarde,

Sou novo aqui na plataforma e também novato na área do moodle, estava em busca de uma consulta que me retornasse alunos com status em um curso, e encontrei neste forum, porém nessa tabela (mdl_course_completions) não retornar registro. navegando na aplicação existe status dos alunos, mas não consegui retornar via SQL, pois conforme informado acima na tabela (mdl_course_completions) não tem registro, Qual seria a outra tabela que poderia me retornar essas informações? Print onde mostra que tem alunos com situações diferentes no curso.

 

 

 

 

Em resposta à Damião Alves

Re: Relatório de alunos que completaram o curso com comando SQL

por Lino Vaz Moniz -

Damião,

Há vários registros de status de aluno

  1. Status de inscrição pode ser ativo ou suspenso. Depende dos valores configurados na tabela mdl_user_enrolments  na coluna status. Também depende do método de inscrição na tabela mdl_enrol na coluna status esta é referenciada na tabela mdl_user_enrolments  pela coluna enrolid

  2. Data de início e término da matrícula no aluno na tabela  mdl_user_enrolments  nas colunas timestart e timeend se essas datas não forem vigentes a matrícula fica inativa. 

  3. Conclusão de curso não é relacionada com status de inscrição. Só define se aluno concluiu ou não.  A conclusão de curso requer configuração do curso e do cron.  Veja esse link https://comunidade.badiu.com.br/mod/forum/discuss.php?d=407 

Sobre status de inscrição, veja esses links:

https://comunidade.badiu.com.br/mod/forum/discuss.php?d=464

https://comunidade.badiu.com.br/mod/forum/discuss.php?d=250 

https://comunidade.badiu.com.br/mod/forum/discuss.php?d=90 

Sobre conclusão de curso, veja esses links:
https://comunidade.badiu.com.br/mod/forum/discuss.php?d=399 

https://comunidade.badiu.com.br/mod/forum/discuss.php?d=183

https://comunidade.badiu.com.br/mod/forum/discuss.php?d=593 

https://comunidade.badiu.com.br/mod/forum/discuss.php?d=424 

 

Pelo plugin MRepor é possível gerar esses relatórios. Pode até usar esse plugin para comparar dados gerados pelo SQL diretamente da base.