Cosas de Desarrolladores

Consulta SQL de los primeros accesos a un curso

 
Imagen de Antonio Puchades
Consulta SQL de los primeros accesos a un curso
 
Hola

Necesito una consulta sql que me muestre los siguientes campos: usuario, curso y primer acceso al curso.

Mi problema es que no se cómo relacionar el campo firstaccess de la tabla mdl_user con los cursos de cada alumno. ¿Puede darme alguién alguna pista?

Gracias

Toni

 
Promedio de calificaciones: -
Imagen de Juan Raul Garcia Canet
Re: Consulta SQL de los primeros accesos a un curso
 
Hola Antonio,

El campo firstacces de la tabla mdl_user indica el primer acceso al "Sitio" no al curso.

Lo mejor es que uses la tabla mdl_log. Ahi se guardan todas las cciones del un usuario.

Por ejemplo:Esta SQL muestra el primer acceso al curso del usuario 4

SELECT userid,MIN(time),course,module FROM `mdl_log` WHERE action='view' AND module='course' AND userid='4'

Si te montas un bucle que recorra a los usuarios de un curso y vaya almacenando estos registros en un array, al final tendrás en el array, los datos que necesitas.

Así, de entrada es lo primero que se me ocurre.

Espero que te sirva,
Hasta pronto,
Salu2
J. Raul (juagarc4) guay


 
Promedio de calificaciones:Útil (1)
Imagen de Antonio Puchades
Re: Consulta SQL de los primeros accesos a un curso
 

Gracias J. Raul por tus aclaraciones de firstaccess, mdl_log y MIN.

He resuelto el problema con una sql pura y dura:

SELECT fullname AS CURSO, username AS USUARIO,
DATE_FORMAT(FROM_UNIXTIME(MIN(time)), '%d/%m/%Y %H:%i:%s') AS 'PRIMER ACCESO',
DATE_FORMAT(FROM_UNIXTIME(MAX(time)), '%d/%m/%Y %H:%i:%s') AS 'ULTIMO ACCESO'

FROM prefix_user

INNER JOIN (prefix_course INNER JOIN prefix_log ON prefix_course.id = prefix_log.course)

ON prefix_user.id = prefix_log.userid

WHERE action = 'view' AND module = 'course'

GROUP BY fullname, username

Y funciona con pocos datos. Ya veremos qué pasa cuando tenga muchos!

Saludos

Toni

 
Promedio de calificaciones:Útil (1)
Imagen de monica rivera
Re: Consulta SQL de los primeros accesos a un curso
 
tks resuelve un problema que también tenia de obtener el último acceso...
 
Promedio de calificaciones: -