Ver Mensaje Individual
  #10 (permalink)  
Antiguo 19/11/2012, 18:42
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema Con consulta mysql

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
  1.     Semestre,
  2.     SUM(IF(Calificacion>5, 1, 0)) Aprobados,
  3.     SUM(IF(Calificacion<=5, 1, 0)) Reprobados
  4. FROM Calificaciones
  5. WHERE Semestre = 1
  6. GROUP BY semestre;
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 original
  1. SELECT idAlumno, Semestre, Materia, Calificacion
  2.     (SELECT idAlumno, Semestre, Materia, Calificacion
  3.     FROM Calificaciones_Alumnos
  4.     WHERE Calificacion>5
  5.     ORDER BY Calificacion, Materia, idMateria) T1
  6. SELECT idAlumno, Semestre, Materia, Calificacion
  7.     (SELECT idAlumno, Semestre, Materia, Calificacion
  8.     FROM Calificaciones_Alumnos
  9.     WHERE Calificacion<=5
  10.     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.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)