Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/01/2012, 10:50
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: Sacar la media máxima de varias columnas

Cita:
Y ahora lo que necesito es sacar cual es la máxima de todas ellas.
Eso sólo puedes hacerlo usando funciones sobre una subconsulta.
Código MySQL:
Ver original
  1. SELECT GREATEST(NOTA_1, NOTA_2, NOTA_3) MAXNOTA
  2. FROM (SELECT avg(NOTA_1) NOTA_1, avg(NOTA_2) NOTA_2, AVG(NOTA_3) NOTA_3 FROM NOTAS) T1
Lo que no puedes haces es determinar cuál es la columna a que pertenece la nota, por lo que no puedes devolver esa info. Y como no puedes usar una función PIVOT, porque no existe en MySQL, no puedes transformar un campo en un registro, y por tanto sólo te queda analizar la respuesta de la consulta anterior.

En realidad, a mi entender todo el esquema está mal diseñado, porque no se ajusta a modelos bien construidos para administrar las calificaciones de un sistema educativo. Pero eso es tu decisión.
Lo que si te puedo decir con certe4za es que el esquema que usas hará que tus consultas sean complicadas, ineficientes y difíciles de generalizar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 21/01/2012 a las 12:02