Ayuda con una consulta
Publicado por SePeke (2 intervenciones) el 17/03/2014 02:00:22
Saludos,
Tengo un problema que no consigo solucionar por muchas vueltas que le de. La tabla que tengo es de notas de alumnos. De modo que la tabla tiene (ID,CODIGO_EXAMEN,ALUMNO,NOTA)
Quiero hace una SELECT que me muestre los alumnos que han aprobado cada examen. Mi idea es algo asi:
SELECT CODIGO_EXAMEN, COUNT(*) APROBADOS
FROM tabla
WHERE NOTA >= 5
GROUP BY CODIGO_EXAMEN
Mi problema es que si hay un examen que no haya aprobado ningun alumno, no aparece dicho examen. Lo que intento obtener es un valor de 0 para los examenes que no tengan ningun alumno aprobado de modo que el resultado fuera algo asi..
CODIGO_EXAMEN - / - APROBADOS
---------- 1 ------------------------ 6 ----------
---------- 2 ------------------------ 4 ----------
---------- 3 ------------------------ 0 ----------
---------- 4 ------------------------ 8 ----------
Supongo que se podra hacer añadiendole alguna condicion mas al WHERE o usando un UNION, pero no consigo solucionarlo. Espero que puedan ayudarme.
Muchas gracias!
Tengo un problema que no consigo solucionar por muchas vueltas que le de. La tabla que tengo es de notas de alumnos. De modo que la tabla tiene (ID,CODIGO_EXAMEN,ALUMNO,NOTA)
Quiero hace una SELECT que me muestre los alumnos que han aprobado cada examen. Mi idea es algo asi:
SELECT CODIGO_EXAMEN, COUNT(*) APROBADOS
FROM tabla
WHERE NOTA >= 5
GROUP BY CODIGO_EXAMEN
Mi problema es que si hay un examen que no haya aprobado ningun alumno, no aparece dicho examen. Lo que intento obtener es un valor de 0 para los examenes que no tengan ningun alumno aprobado de modo que el resultado fuera algo asi..
CODIGO_EXAMEN - / - APROBADOS
---------- 1 ------------------------ 6 ----------
---------- 2 ------------------------ 4 ----------
---------- 3 ------------------------ 0 ----------
---------- 4 ------------------------ 8 ----------
Supongo que se podra hacer añadiendole alguna condicion mas al WHERE o usando un UNION, pero no consigo solucionarlo. Espero que puedan ayudarme.
Muchas gracias!
Valora esta pregunta


0