Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/03/2012, 15:37
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, 4 meses
Puntos: 2658
Respuesta: sacar promedio en subconsulta

Código MySQL:
Ver original
  1. SELECT nom.*, AVG(nt.nota) promedio
  2. FROM nombres nomLEFT JOIN notas nt ON nom.id = nt.id_nombre
  3. GROUP BY nom.id
El error que te marca es porque el alias de un campo dentro de una subconsulta que está puesta como columna, no es accesible por fuera de los paréntesis.
Te corrijo la consulta completa porque no puedes poner una consulta con una función agrupada sin poner el GROUP BY, a menos que el resultado de la función sea el único dato devuelto, que no es tu caso.
Tips:
1) Te conviene estudiar un poco más del uso de funciones agregadas y el GROUP BY.
2) Trata de no usar subconsultas dentro de los campos de SELECT, porque obligan al MySQL a ejecutar la subconsulta por cada registro devuelto por la principal... que podrían ser muchos.
3) El orden de los factores altera el producto en los JOIN. Si quieres los promedios de notas de las personas, primero debe ir la tabla nombres.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)