Cita:
Iniciado por jurena
SELECT cimas.nombre, cimas.altitud, paises.nombre FROM paises INNER JOIN relacion_pais_cima USING (id_pais) INNER JOIN cimas USING (id_cima) INNER JOIN (SELECT id_pais paises, max(altitud) altitudes FROM cimas JOIN relacion_pais_cima USING (id_cima) GROUP BY id_pais)t1 ON t1.paises = pais.id_pais AND t1.altitudes = cimas.altitud
¡¡¡ FUNCIONA !!! Es impresionante pero funciona (ya pensaba que no se podría). Corregí un pequeño fallo, pero del resto perfecto. El fallo era por llamarle pais a la tabla de paises:
Código:
... ON t1.paises = pais.id_pais AND t1.altitudes = cimas.altitud
Muchas Gracias.
En cuanto a la respuesta de
huesos52, el problema es que MySQL construye la tabla con los registros que se van a devolver y luego la ordena, por lo que me ordenaría por altitud, pero sin tener en cuenta el Teide.
La respues de
jurena es, a mi modo de ver, perfecta.