Ordenar datos en una consulta

01/06/2004 - 12:29 por manolo | Informe spam
Hola a todos,

Resulta que construyo una consulta del tipo:

select Codigo, RazonSocial, Direccion
from Clientes
Where Codigo in(214, 125, 141, 318, 244, 38,633)

Y los datos salen de forma en que están guardados en la base de datos.
¿Hay alguna forma de forzar a que los datos salgan ordenados con el
orden de la función in()?

Muchas gracias y un saludo.

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
01/06/2004 - 12:41 | Informe spam
No, al menos de una forma limpia. Ten en cuenta que la única forma de
estar seguros de que el orden en el que se muestra el conjunto de resultados
sea el que uno necesita es con la cláusula ORDER BY.

De todos modos, puedes hacer un CASE dentro del ORDER BY para indicar
que cuando sea el código 214, poner un 1, cuando un 125, un 2 y así hasta el
final. Una cosa así:

ORDER BY CASE codigo WHEN 214 THEN 1 WHEN 125 THEN 2 END

Pero ya te digo, me parece una forma muy muy fea de hacer las cosas



Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"manolo" escribió en el mensaje
news:
Hola a todos,

Resulta que construyo una consulta del tipo:

select Codigo, RazonSocial, Direccion
from Clientes
Where Codigo in(214, 125, 141, 318, 244, 38,633)

Y los datos salen de forma en que están guardados en la base de datos.
¿Hay alguna forma de forzar a que los datos salgan ordenados con el
orden de la función in()?

Muchas gracias y un saludo.


Respuesta Responder a este mensaje
#2 manolo
01/06/2004 - 12:45 | Informe spam
Gracias Carlos,

Ya no me mareo más en buscar imposibles :).

Como a mi también me parece un poco chapuza hacer lo del case, tendré
que dejar la consulta como está.

Un saludo.
Respuesta Responder a este mensaje
#3 Tomas Martin
01/06/2004 - 16:54 | Informe spam
SELECT * FROM (
select Codigo, RazonSocial, Direccion
from Clientes
Where Codigo in(214, 125, 141, 318, 244, 38,633)
) AA
ORDER BY AA.CODIGO

Tomás Martín

"manolo" escribió en el mensaje
news:
Hola a todos,

Resulta que construyo una consulta del tipo:

select Codigo, RazonSocial, Direccion
from Clientes
Where Codigo in(214, 125, 141, 318, 244, 38,633)

Y los datos salen de forma en que están guardados en la base de datos.
¿Hay alguna forma de forzar a que los datos salgan ordenados con el
orden de la función in()?

Muchas gracias y un saludo.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida