Ver Mensaje Individual
  #7 (permalink)  
Antiguo 07/01/2009, 13:34
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: como mostrar los resultados ordenados al utilizar sum que depende de otra

En lugar de lo que has puesto, escribe esto y pruebalo.


SELECT tabla1.nombre, IFNULL(sum(tabla2.puntos),0)
FROM tabla1 LEFT JOIN tabla2 WHERE tabla2.id_año = 1 ON tabla1.id = tabla2.id_nombre group by tabla2.id_nombre order by sum(tabla2.puntos) desc


Respecto a lo segundo, quizás te conviniera hacerlo mediante programación. Sacar los 10 primeros en puntuación en orden según el año puede hacerse fácilmente o iterando dentro de una consulta de años, o con otra consulta iterada usando union all. La primera requiere tantas consultas como año (en la sintaxis son dos consultas); la segunda mediante una consulta, pero los resultados se obtendrían en una sola lista. Seguro que hay más opciones.