En principio, tendré que reconocer que no leí la primera parte de tu post inicial con el debido detalle. Allí lo que dices necesitar es la
cantidad de aprobados y reprobados del semestre, y no el listado de ambos en una sola tabla, como yo entendí al principio.
En el primer caso la consulta a realizar es realmente simple. El segundo caso sí requiere una consulta usando UNION.
Veamos.
Si lo que quieres es solamente las cantidades, puede ser:
Código MySQL:
Ver original Semestre,
SUM(IF(Calificacion
>5, 1, 0)) Aprobados
, SUM(IF(Calificacion
<=5, 1, 0)) Reprobados
Como verás, es una consulta senciilla, usando un truco muy habitual para obtener una sumatoria de dos criterios que se evalúan en una sola columna.
La otra forma de verlo, que al principio creí que te referías, si requiere un UNION, y sería:
Si lo que quieres es solamente las cantidades, puede ser:
Código MySQL:
Ver originalSELECT idAlumno
, Semestre
, Materia
, Calificacion
(SELECT idAlumno
, Semestre
, Materia
, Calificacion
FROM Calificaciones_Alumnos
ORDER BY Calificacion
, Materia
, idMateria
) T1
SELECT idAlumno
, Semestre
, Materia
, Calificacion
(SELECT idAlumno
, Semestre
, Materia
, Calificacion
FROM Calificaciones_Alumnos
ORDER BY Calificacion
, Materia
, idMateria
) T2
;
Obviamente se trata de cosas diferentes.
Pongo la segunda para que se vea el uso, pero si no me equivoco es la primera la que realmente preguntabas. En esa hay otras formas de lograrlo, pero es la mas simple.