Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/01/2012, 04:42
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Duda para Obtener promedio mas alto

Quizas te he liado, no se porque pense que querias el alumno con la media mas alta....

El analisis és el mismo cambiando el grupo de notas sobre el que haces calculos,

si quieres la media de un alumno tienes que agrupar notas por alumno (GROUP BY matricula)

si quieres la nota media en una materia tienes que agrupar por materia (GROUP BY claveMateria)

si quieres el alumno con la nota maxima en una materia tines que obtener el maximo de el gurpo anterior (notas de una materia) y luego usarlo para seleccionar el alumno con esa nota...

si quieres la materia donde el alumno saca la nota mas alta tines que obtener el maximo del primer gurpo (notas de un alumno) y luego usarlo para seleccionar la materia con esa nota... es question de subquerys...

No intentes sacarlo todo a la vez... si puedes sacar la nota media y la nota maxima de una materia, o de qualquier grupo de notas, en una sola query pero no el nombre del alumno con esa nota maxima...

Yo intentaria hacer las query que te den cada uno de los resultados que busques por separado y luego intenta montar una "super"query usandolas como subquerys... estableciendo relaciones entre ellas (join ... on)

SELECT lista de campos de sbc1 y/o sbc2
FROM (SELECT ... una subquery...) sbc1 JOIN (SELECT ... otra sub query...) sbc2 ON la relacion entre sbc1 y sbc2
...

Dentro de las subquerys puedes tener otras subquerys....

Y una vez tengas el resultado analiza si puedes simplificar algo.

Hasta ahi puedo leer.... suerte.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 21/01/2012 a las 04:52