Consulta SQL alumno matriculado en curso

Consulta SQL alumno matriculado en curso

de Alex Under -
Número de respuestas: 2

Buenos días, estoy intentando hacer una consulta a la cual le paso un usuario que voy a matricular en un curso, necesito que la consulta mire si este alumno ya esta matriculado en el mismo y me estoy volviendo loco ya que es la primera vez que "ataco" al moodle desde sus tablas. Os agradecería muchísimo cualquier ayuda, gracias.

Promedio de valoraciones: -
En respuesta a Alex Under

Re: Consulta SQL alumno matriculado en curso

de Carlos Diaz Perez (ESRP) -

Esta consulta te saca todos los alumnos matriculados en un curso, si le pones en el where el id de usuario (alumno) te aparecera si esta matriculado, en caso contrario te devolvera nulo

select * from (
select if(mdl_role_assignments.roleid=3,"Docente","Alumne") as tiporol,
mdl_groups_members.userid, mdl_groups.id, mdl_groups.name, mdl_user.firstname, mdl_user.lastname, mdl_context.contextlevel,
mdl_user_enrolments.userid as iduser from mdl_enrol
inner join mdl_user_enrolments
on mdl_user_enrolments.enrolid = mdl_enrol.id
inner join mdl_user
on mdl_user.id = mdl_user_enrolments.userid
inner join mdl_context
on mdl_context.instanceid = mdl_enrol.courseid

left join mdl_groups
on mdl_groups.courseid = mdl_enrol.courseid
left join mdl_groups_members
on mdl_groups_members.userid = mdl_user.id
          and mdl_groups_members.groupid = mdl_groups.id
inner join mdl_role_assignments
on mdl_role_assignments.contextid = mdl_context.id and mdl_role_assignments.userid = mdl_user.id
where mdl_enrol.courseid=280 and mdl_enrol.status= 0 and mdl_context.contextlevel=50
group by iduser, userid
order by iduser,mdl_groups_members.userid desc

 ) as consulta3
group by iduser

En respuesta a Carlos Diaz Perez (ESRP)

Re: Consulta SQL alumno matriculado en curso

de Alex Under -

Muchísimas gracias Carlos de verdad, me tenia subido por las paredes y no me esperaba una respuesta tan directa y eficaz jejeje, probado y funcionando, un saludo!