Los UNION unen los resultados de dos consultas, independientemente de si se cumplen o no.
Efectivamente, ayer seguí buscando, y el error está en que existe una ambigüedad entre el UNION y el ORDER BY, por lo que es necesario el uso de paréntesis al principio y al final de cada una de las dos consultas:
Algo como esto devolvería los registros de los campos "campo1" para los cuales fueran mayores a 50; todos los registros del "campo2"; y los registros menores a 50 del "campo3" de la tabla "tabla", ordenados ascendentemente por el "campo2".
Si no estuviera ese maldito ORDER BY, no sería necesario el uso de paréntesis, y en mi caso, ni se puede quitar ni se puede meter entre paréntesis la primera consulta.
Quizás se pueda sacar algo con esto por "fuerza bruta" mediante subconsultas... porque las otras dos cláusulas que se pueden usar después de un LIMIT, aparte de UNION, son INTO y PROCEDURE, y creo que no son aprovechables aquí.
Esa es mi investigación hoy... xD ThX
Efectivamente, ayer seguí buscando, y el error está en que existe una ambigüedad entre el UNION y el ORDER BY, por lo que es necesario el uso de paréntesis al principio y al final de cada una de las dos consultas:
Código [Seleccionar]
(SELECT campo1,campo2 FROM tabla WHERE campo1>50 ORDER BY campo2 asc) UNION (SELECT campo2,campo3 FROM tabla WHERE campo3<50 ORDER BY campo2 asc)
Algo como esto devolvería los registros de los campos "campo1" para los cuales fueran mayores a 50; todos los registros del "campo2"; y los registros menores a 50 del "campo3" de la tabla "tabla", ordenados ascendentemente por el "campo2".
Si no estuviera ese maldito ORDER BY, no sería necesario el uso de paréntesis, y en mi caso, ni se puede quitar ni se puede meter entre paréntesis la primera consulta.
Quizás se pueda sacar algo con esto por "fuerza bruta" mediante subconsultas... porque las otras dos cláusulas que se pueden usar después de un LIMIT, aparte de UNION, son INTO y PROCEDURE, y creo que no son aprovechables aquí.
Esa es mi investigación hoy... xD ThX