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.
Re: Consulta SQL alumno matriculado en curso
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
Re: Consulta SQL alumno matriculado en curso
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!