Obtener Cursos mandatorios en Moodle

Obtener Cursos mandatorios en Moodle

de Edgar Conrado Hernandez -
Número de respuestas: 0

Buen día, 

Posiblemente a alguno de ustedes les han solicitado un reporte o lista de los examenes o documentos que sean mandatorios para el alumnos, dentro de un curso. 

 

Pues bien les dejo este Query (El cual está validado desde la versión 2.1 a la versión 2.6 con MySQL) esperando que algún día les sea de utilidad.

 

SELECT CONCAT(name,' ','(Mandatory)') AS name FROM (SELECT instance,name,mcm.course FROM moodle.mdl_course_modules AS mcm INNER JOIN moodle.mdl_quiz AS mq ON mq.id = mcm.instance AND mcm.course = mq.course

UNION SELECT instance,name,mcm.course FROM moodle.mdl_course_modules AS mcm INNER JOIN moodle.mdl_url AS mu ON mu.id = mcm.instance AND mcm.course = mu.course
UNION SELECT instance, name, mcm.course FROM moodle.mdl_course_modules AS mcm INNER JOIN moodle.mdl_page AS mq ON mq.id = mcm.instance AND mcm.course = mq.course) as Itmes
INNER JOIN (SELECT mcm.course,mcm.instance FROM moodle.mdl_course_completion_criteria AS mccc
INNER JOIN moodle.mdl_course_modules AS mcm ON mccc.moduleinstance = mcm.id ) AS Mandatories ON Mandatories.instance = Itmes.instance AND Itmes.course = Mandatories.course

 

Lo que hace el query es unir el nombre de los tres recursos (url's, pages y quizzes) y hago un Inner Join con la tabla mdl_course_modules el cual contiene los recursos que son mandatorios para el usuario.

 

Si tienen alguna duda hagamenla saber

 

Saludos

Promedio de valoraciones: -