Primer acceso al curso de cada alumno (2.7)

Primer acceso al curso de cada alumno (2.7)

de Sandra Piedrabuena -
Número de respuestas: 1

Estimados

Versión de Moodle 2.7

Debo generar un reporte que indique, el tiempo transcurrido entre el primer acceso del alumno y el inicio de su curso. 

AlumnoySu1erIngreso

Ahora la pregunta:

¿En que tablas encuentro los datos que necesito?

SELECT u.firstname, u.lastname, FROM_UNIXTIME(u.firstaccess),c.id, c.fullname, FROM_UNIXTIME(c.startdate)
FROM mdl_course AS c
JOIN mdl_context AS ctx ON c.id = ctx.instanceid
JOIN mdl_role_assignments AS ra ON ra.contextid = ctx.id
JOIN mdl_user AS u ON u.id = ra.userid
WHERE u.id > 2 AND ra.userid = 5

El primer acceso es al sitio ( no al curso)

Los leo sonrisa.

Gracias.

Saludos

Promedio de valoraciones: -
En respuesta a Sandra Piedrabuena

Re: Primer acceso al curso de cada alumno (2.7)

de Sandra Piedrabuena -

Estimados:

Me respondo.

Buceando encontré este post

https://moodle.org/mod/forum/discuss.php?d=143909

Que me ayudó a hacer el query que necesitaba.

SELECT u.id,u.lastname, u.firstname, r.id, q.id, q.fullname AS CURSO, DATE_FORMAT(FROM_UNIXTIME(MIN(l.time)), '%d/%m/%Y %H:%i:%s') AS '1er acceso',DATE_FORMAT(FROM_UNIXTIME(q.startdate), '%d/%m/%Y %H:%i:%s') AS 'InicioCurso'
FROM mdl_user AS u
INNER JOIN mdl_role_assignments as ra ON (u.id = ra.userid )
INNER JOIN mdl_role AS r ON r.id = ra.roleid
INNER JOIN (mdl_course AS q INNER JOIN mdl_log AS l ON q.id = l.course) ON u.id = l.userid
WHERE q.id > 1 AND r.id = 5 AND u.id > 2
AND action = 'view' AND module = 'course'
GROUP BY u.id, q.id
Saludos