Ayuda con un ordenamiento ......

16/09/2005 - 19:49 por jpablos | Informe spam
Saludos

Tengo una tabla con varios campos, pero quisiera que se ordene por uno en
particular y de la siguiente forma :

campo_id
01
02
01
01
18
01
02
18
02

Lo que necesito es que solo los campos donde el codigo es 18 se vayan al
final de mi select, y el resto siga igual, con el order by asc o desc se me
alteran todos y yo solo necesito que los que sean iguales a 18 se vayan al
final, como lo puedo hacer ????

Gracias .
 

Leer las respuestas

#1 Pablo Garateguy
16/09/2005 - 23:22 | Informe spam
Una opción (no limpia porque es más lenta) es dividir la consulta en 2 partes
y luego juntarlas mediante un UNION

De esta forma podrías juntarlas sin que te las ordene (en caso de que te las
ordene de todas maneras, tendrías que agregarle un dato extra a cada registro
devuelto por las subconsultas para separar).

Ej 1
SELECT c1, c2, c3 FROM tabla1 WHERE Cod <> 18
UNION
SELECT c1, c2, c3 FROM tabla1 WHERE Cod = 18

Ej 2
SELECT 1, c1, c2, c3 FROM tabla1 WHERE Cod <> 18
UNION
SELECT 2, c1, c2, c3 FROM tabla1 WHERE Cod = 18

Espero que te sirva
Saludos
Pablo Garateguy
MCP - Visual Basic 6


"jpablos" wrote:

Saludos

Tengo una tabla con varios campos, pero quisiera que se ordene por uno en
particular y de la siguiente forma :

campo_id
01
02
01
01
18
01
02
18
02

Lo que necesito es que solo los campos donde el codigo es 18 se vayan al
final de mi select, y el resto siga igual, con el order by asc o desc se me
alteran todos y yo solo necesito que los que sean iguales a 18 se vayan al
final, como lo puedo hacer ????

Gracias .

Preguntas similares