
07/01/2009, 13:34
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 17 años 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. |