Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/01/2012, 09:57
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

No estás posteando la estructura, como te pedí. Por favor, trata de ser más técnico en este rubro, porque es la forma de que ambos comprendamos las mismas cosas.
Cuando se te pide la estructura de la tabla, lo que se te pide es esto:
Código MySQL:
Ver original
  1. CREATE TABLE `notas` (
  2.   `alumno` int(11) NOT NULL auto_increment,
  3.   `nif` int(10) default NOT NULL,
  4.   `nota` int(10) default NULL,
  5.   `nota1` int(10) default NULL,
  6.   `nota2` int(10) default NULL,
  7.   PRIMARY KEY  (`nif`),
  8.   KEY `nif` (`nif`),
  9.   CONSTRAINT `nota_asignatura` FOREIGN KEY (`nota`) REFERENCES `asignatura` (`nota`)

Ahora bien, si lo que necesitas es la media de notas de cada asignatura, y esa materia debe ser identificable por nombre, obviamente necesitas trabajar con ambas tablas:
Código MySQL:
Ver original
  1. SELECT nombreMateria, AVG(nota1) nota1, AVG(nota2) nota2, AVG(nota3) nota3, ...
  2. FROM notas N INNER JOIN asignatura A ON N.nota = A.nota
  3. GROUP BY A.nota;

Pero si lo que quieres es la media de cada nota de cada alumno, se agrupa por alumno:
Código MySQL:
Ver original
  1. SELECT alumno, nif, nombreMateria, AVG(nota1) nota1, AVG(nota2) nota2, AVG(nota3) nota3, ...
  2. FROM notas N INNER JOIN asignatura A ON N.nota = A.nota
Lo que no puedes hacer es la media de las materias por materias y de los alumnos en cada pamteria alumnos al mismo tiempo porque las lógicas de las consultas son interexcluyentes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)