Buenas tardes, a quien me pueda colaborar mil gracias.
Mi base de datos que uso con moodle es para un colegio y está organizada de la siguiente manera:
Creé categorias con el nombre de cada grado, dentro de esas categorias creé subcategorias con el número de salón de cada grado, finalmente dentro de esas subcategorias creé cursos con el nombre de las asignaturas para cada grado.
Ejemplo: Categoria ONCE, subcategoria 1101, cursos MATEMATICAS, CIENCIAS SOCIALES etc.
Todo funciona correctamente cada grado tienen los estudiantes como debe ser y demás.
Ahora me han pedido que saque un listado por cada grado y lo estoy haciendo desde la base de datos con una consulta pero me sale el mismo listado de estudiantes de primero a once, es como si sólo existieran 34 estudiantes y todos estuvieran en todos los grados, me sercioré de que no es asi, ingresando a cada grupo y revisando en calificaciones, allí me sale un número diferente de estudiantes en cada grado y todos los estudiantes con datos diferentes, he utilizado la misma consulta varias veces y nunca me había sucedido, a quien me pueda ayudar mil gracias.
Consulta:
SELECT mdl_user.username, mdl_user.firstname, mdl_user.lastname, mdl_course_categories.name FROM mdl_course_categories
INNER JOIN mdl_context ON mdl_context.instanceid = mdl_course_categories.id
INNER JOIN mdl_role_assignments ON mdl_context.id = mdl_role_assignments.contextid
INNER JOIN mdl_role ON mdl_role.id = mdl_role_assignments.roleid
INNER JOIN mdl_user ON mdl_user.id = mdl_role_assignments.userid
WHERE mdl_role.id = 5 AND mdl_course_categories.id = 3
ORDER BY mdl_user.firstname
aquí lo único que cambio siempre es el valor a: mdl_course_categories.id = ?
colocando el valor de cada categoria.
Muchas gracias.
Saludos.