Ver Mensaje Individual
  #5 (permalink)  
Antiguo 26/07/2010, 19:06
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: 17 años
Puntos: 2658
Respuesta: Problema con UNION y ORDER BY

El último ORDER BY de un UNION o UNION ALL opera sobre todo el conjunto. Así es como funciona.
Para que no te lo ordene todo junto los bloques de ordenamiento deben estar completamente aislados, dentro de una subconsulta:
Código MySQL:
Ver original
  1. FROM  
  2.    (SELECT a.nombre, m.marca, a.oferta
  3.    FROM articulos a  LEFT JOIN marcas m ON m.id = a.id_marca
  4.    WHERE a.id_marca =22 AND a.id_fam =162
  5.    ORDER BY a.oferta DESC) T1
  6.    (SELECT a.nombre, m.marca, a.oferta
  7.    FROM articulos a LEFT JOIN marcas m ON m.id = a.id_marca
  8.    WHERE a.id_marca <>22 AND a.id_fam =162
  9.    ORDER BY m.marca ASC) t2;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)