Consulta SQL a calificaciones de Curso

Consulta SQL a calificaciones de Curso

de Edwin Nuñez -
Número de respuestas: 7

Necesito una ayuda, que tablas necesito para consultar la calificación general (promedio final de un curso) de un estudiante? alguien me podría ayudar con un script SQL.

Lo que quiero es que me muestre los cursos de un estudiante y su respectiva calificacion final del curso. Algo asi como si fuera un modulo o bloque.

Gracias de antemano,

Edwin.

Promedio de valoraciones: -
En respuesta a Edwin Nuñez

Re: Consulta SQL a calificaciones de Curso

de Andrey Alfaro -

Hola.

Con lo respecto a las consltas de SQL no tengo mucho conocimiento pero si te puedo comentar que existe un modulo que te permite hacer esto de una forma mas automatica!

El modulo al que me refiero es configurable reports que estan disponible tanto para la version 2.x y para 1.9.x, creo que esta es una buena opcion que te puede resolver el problema sin la necesidad de entrar a la base de datos, ademas de que tiene mas funciones que talves de paso te llamen la atencion.

Espero sea de tu ayuda la info saludos! sonrisa

En respuesta a Edwin Nuñez

Re: Consulta SQL a calificaciones de Curso

de Manuel Jimenez -

Hola buenas noches

Le quiero preguntar si pudo resolver su pregunta, ya que me encuentro en lo mismo y quiero consultar las calificaciones por medio de sql.


Gracias

En respuesta a Manuel Jimenez

Re: Consulta SQL a calificaciones de Curso

de Sandra Piedrabuena -

Hola Manuel:

Tu versión de Moodle?

Revisa este enlace (que es para 2.7):

https://docs.moodle.org/27/en/ad-hoc_contributed_reports (en el punto 5)

SELECT  
cc.name
AS 'Categoria',
c.id AS IdCurso,
c.fullname AS 'Curso', u.lastname AS 'Apellido', u.firstname AS 'Nombre' , ROUND(gg.finalgrade,2) AS Calificacion,
DATE_ADD('1970-01-01', INTERVAL gi.timemodified SECOND) AS FecCalif
FROM prefix_course AS c JOIN prefix_context AS ctx ON c.id = ctx.instanceid JOIN prefix_role_assignments AS ra ON ra.contextid = ctx.id JOIN prefix_user AS u ON u.id = ra.userid JOIN prefix_grade_grades AS gg ON gg.userid = u.id JOIN prefix_grade_items AS gi ON gi.id = gg.itemid JOIN prefix_course_categories AS cc ON cc.id = c.category WHERE gi.courseid = c.id AND gi.itemtype = 'course'
AND ra.roleid=5
#and c.id = 321 #quito el flash '#' cuando quiero un curso en particular
and c.startdate > 1467331200 #cursos iniciados en el 2016
ORDER BY c.id DESC, u.lastname, u.firstname, gi.itemname

Adjunto un archivo que encontré. No lo hice yo. 

Saludos

En respuesta a Sandra Piedrabuena

Re: Consulta SQL a calificaciones de Curso

de Manuel Jimenez -
Buenas noches San PI recibe un cordial saludo, reitero mi agradecimiento por tu respuesta, y quiero hacer una nueva pregunta.

 Ya tengo mi informe con los nombres y calificaciones de cada uno de los participantes y quiero agregar una columna con el cohort de cada uno de ellos, me puedes ayudar por favor?. Este es el codigo que tengo. Gracias.

SELECT

user2.firstname AS Nombre,

user2.lastname AS Apellido,

course.fullname AS Curso

,(SELECT shortname FROM prefix_role WHERE id=en.roleid) AS ROLE

,ROUND(gg.finalgrade,2) AS Calificacion

 FROM prefix_course AS course

JOIN prefix_enrol AS en ON en.courseid = course.id

JOIN prefix_user_enrolments AS ue ON ue.enrolid = en.id

JOIN prefix_user AS user2 ON ue.userid = user2.id       

 JOIN prefix_grade_grades AS gg ON gg.userid = user2.id

ORDER BY user2.firstname, course.fullname



En respuesta a Manuel Jimenez

Re: Consulta SQL a calificaciones de Curso

de Sandra Piedrabuena -

Hola Manuel.

Encuentras información en: https://docs.moodle.org/dev/Cohorts#DB_tables

Intenta agregando

JOIN prefix_cohort_members AS coh ON coh.userid = user2.id
JOIN prefix_cohort ON coh.cohortid = prefix_cohort.id

La Tabla cohort_members almacena los miembros de la cohorte

FieldTypeDefaultDescription
idint(10)auto-incrementing
cohortidint(10)foreign key, references cohort.id
useridint(10)foreign key, references user.id
timeaddedint(10)timestamp, when added

Saludos
En respuesta a Edwin Nuñez

Re: Consulta SQL a calificaciones de Curso

de Anibal Alvarez -

Hola Edwin.

No se si entendí adecuadamente tu pregunta.

Si por "necesito para consultar la calificación general (promedio final de un curso) de un estudiante" quiere decir tener la nota final de todas las evaluaciones, trabajos, etc etc calificados a un estudiante en el transcurso de un curso, para eso tienes el módulo Calificaciones.

No entiendo lo de hacer un script para qué?  Luego las puedes bajar a una hoja de calculo  y etc. Moodle lo hace solito eso.

Ahora, si se tratara de otra cosa, disculpa mi comentario.

Anibal