Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

usar Order By con datos dinamicos

Estas en el tema de usar Order By con datos dinamicos en el foro de PostgreSQL en Foros del Web. Hola a todos, Quiero hacer un query pero necesito que arroje los resultados de Select * from tabla Where zcode IN (1, 2, 3, 4) ...
  #1 (permalink)  
Antiguo 12/06/2009, 10:24
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 9 meses
Puntos: 0
Pregunta usar Order By con datos dinamicos

Hola a todos,

Quiero hacer un query pero necesito que arroje los resultados de

Select * from tabla
Where zcode IN (1, 2, 3, 4)

Order By zcode ****** , pero necesito que los resultados sean arrojados dependiendo a los mismos valores que utilice en IN, estos son dinámico, trate de hacer un
Order BY zcode IN(1,2,3,4)
pero no me funciono correctamente,

Existe una manera de hacer esto?
espero que alguien pueda ayudarme

Saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #2 (permalink)  
Antiguo 12/06/2009, 10:35
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: usar Order By con datos dinamicos

Prueba así..

Código sql:
Ver original
  1. SELECT *FROM
  2. (SELECT * FROM tabla
  3. WHERE zcode IN (1, 2, 3, 4))t1 ORDER BY t1.zcode;

Sin embargo, si son muchos registros, el rendimiento se puede ver seriamente afectado.

Nos cuentas como te va.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 12/06/2009, 10:41
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: usar Order By con datos dinamicos

Hola,

Gracias por contestar, pero me quedo duda en el query que mostraste,
Select * from tabla
Where zcodo IN (SELECT * FROM tabla
WHERE zcode IN (1, 2, 3, 4))t1 ORDER BY t1.zcode;

es correcto?

Saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #4 (permalink)  
Antiguo 12/06/2009, 10:46
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: usar Order By con datos dinamicos

No...

Lo que trato de decirte, es que t1 se comporta como una tabla resultante de una consulta.

Sería correcto tal cual te la pasé en el post anterior...

pruebala y nos cuentas.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 12/06/2009, 10:56
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: usar Order By con datos dinamicos

Gracias,

Sigo teniendo el mismo problema,
ejemplo:
mis datos son (1,2,3,4)

cuando hago zcode IN (1, 2, 3, 4)

me arroja 2,3,1,4

me explico?

Saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #6 (permalink)  
Antiguo 12/06/2009, 13:24
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: usar Order By con datos dinamicos

Creo que no me di a entender,
tengo la siguiente consulta

Select * from tabla
Where zcode IN (6, 3, 9, 2, 5, 10)

de los cuales los resultado que necesito son:
3, 9, 2,

lo que necesito es que me arroje los resultados en el orden con el cual ingrese los datos para 'IN', lo que esta haciendo la consulta es mostarme los resultados: 2, 3, 9.

Espero que me ayuden,
no encuentro como realizar esto,

Saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #7 (permalink)  
Antiguo 12/06/2009, 13:51
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: usar Order By con datos dinamicos

Chidomen...

Vuelvo y te pregunto...
Ya probaste la consulta?
Esta mañana probé exactamente lo que me dices y me funcionó.

Dime que resultado te muestra la consulta que te he pasado.

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #8 (permalink)  
Antiguo 12/06/2009, 13:59
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: usar Order By con datos dinamicos

Hola,

Si, probe la consulta que me mostraste, exactamente esto es lo que hago:

Código dd:
Ver original
  1. SELECT * FROM
  2. (SELECT * FROM listing
  3. WHERE dzip IN (54165, 54162, 54217, 54106, 54110, 54915, 53014, 54166, 53061))t1 ORDER BY t1.dzip;

y estos son los que me arroja:
53014
53061
54106
54110
54162
54165
54166
54166
54217
54915

Saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #9 (permalink)  
Antiguo 12/06/2009, 14:00
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: usar Order By con datos dinamicos

Es decir, no me los ordena tal y como utilice los datos en 'IN'

saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #10 (permalink)  
Antiguo 12/06/2009, 14:11
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: usar Order By con datos dinamicos

Tienes razòn... habia entendido mal.

Como te los ordena la consulta sola?

Select * from tabla
Where zcode IN (6, 3, 9, 2, 5, 10)


??

Lastimosamente, en este momento no tengo como probar.
Esta noche miro bien el tema.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #11 (permalink)  
Antiguo 12/06/2009, 14:33
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 19 años, 9 meses
Puntos: 0
Respuesta: usar Order By con datos dinamicos

Hola,

Sigo con el mismo problema,
el orden que necesito es que sea basado en lo que utilizo dentreo del 'IN', y no me los esta arrojando de esa manera, haciendo la prueba:

SELECT * FROM
(SELECT * FROM listing
WHERE dzip IN (54165, 54761, 54162, 54217, 54106, 54385, 54110, 54915, 54371, 53014, 54166, 53061))t1 ORDER BY t1.dzip;


me arroja:

53014
53061
54106
54110
54162
54165
54166
54166
54217
54915

y lo necesito de esta manera:

54165
54162
54217
54106
54110
54915
53014
54166
53061


Es decir, busco aquellso registro que utilizando el IN, pero los qu ese encuentras los necesito en el mismo orden de como los tengo en 'IN'.

Me explico?

Saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #12 (permalink)  
Antiguo 13/06/2009, 12:54
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: usar Order By con datos dinamicos

chidomen...

Los valores que ingresas, lo haces manualmente?
De donde tomas estos valores?
54165, 54761, 54162, 54217, 54106, 54385, 54110, 54915, 54371, 53014, 54166, 53061
??

Si es manualmente, no creo que haya forma.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:11.