Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/08/2011, 10:50
Avatar de vgonga1986
vgonga1986
 
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 2 meses
Puntos: 253
Respuesta: Condición WHERE variable=(MAX(variable)) válida?

No se pueden poner funciones MySQL en el WHERE. Tienes que pasarlo a la selección de campos, algo así:
"SELECT MAX(TEMPORADA) AS TEMP_MAX, TEMPORADA, TIPO, NOMBRE, PG, PE, PP, (PG+PE+PP) AS PJ, (3*PG+PE) AS PUNTOS, GF, GC, (GF-GC) AS DIF FROM EQUIPOS WHERE TEMPORADA=TEMP_MAX) ORDER BY PUNTOS DESC"

Un saludo.

Edito: ahora dudo si es verdad, después de lo que ha dicho @maycolalvarez. Si no, tendrás que separarlo en dos consultas, una para sacar el MAX y otra para hacer tu consulta actual. También lo puedes hacer en la misma, con subconsultas, algo así:
"SELECT TEMPORADA, TIPO, NOMBRE, PG, PE, PP, (PG+PE+PP) AS PJ, (3*PG+PE) AS PUNTOS, GF, GC, (GF-GC) AS DIF FROM EQUIPOS, (SELECT MAX(TEMPORADA) AS TEMP_MAX FROM EQUIPOS GROUP BY TEMPORADA) SUBSELECT WHERE EQUIPOS.TEMPORADA=SUBSELECT.TEMP_MAX) ORDER BY PUNTOS DESC"

Pruébalo bien, sé que se puede, pero no puedo ponerme a comprobarlo
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Última edición por vgonga1986; 06/08/2011 a las 10:54 Razón: Ahora dudo si es verdad