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

No ordenar Seleccion

Estas en el tema de No ordenar Seleccion en el foro de SQL Server en Foros del Web. Hola les explico mi problema tengo la siguiente tabla Productos idProd descripcion 1 BL10 2 BL15 3 BL45 4 BL50 ahora cuando hago mi consulta ...
  #1 (permalink)  
Antiguo 25/08/2010, 13:59
 
Fecha de Ingreso: marzo-2004
Mensajes: 70
Antigüedad: 20 años
Puntos: 0
No ordenar Seleccion

Hola les explico mi problema

tengo la siguiente tabla Productos

idProd descripcion
1 BL10
2 BL15
3 BL45
4 BL50


ahora cuando hago mi consulta
SELECT * FROM Productos WHERE idProd IN(3,1,4,2)

me duelve todo ordenado, pero lo que quiero es que me devuelva tal y como lo pedi
es decir;

idProd descripcion
3 BL45
1 BL10
4 BL50
2 BL15

que debo agregar a mi consulta para evitar que se autoordene
__________________
GuzZpaWn
  #2 (permalink)  
Antiguo 25/08/2010, 15:16
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: No ordenar Seleccion

Buenas tardes, creo que lo que quieres hacer no es posible. Por defecto SQL ordena los registros de acuerdo a como están registrados en la base de datos.

Para tratar de imaginar cómo trabaja SQL se tiene que barrer toda la tabla y comparar registro por registro. Si el registro seleccionado cumple con las condiciones entonces lo inserta en una tabla temporal y si no cumple pues simplemente continua con el siguiente registro. Al final regresa el contenido de la tabla temporal.

Creo que lo que tendrías que hacer es agregar una columna adicional a tu tabla en donde especifiques el orden que deseas, algo así:

idProd|descripcion|orden
1|BL10|2
2|BL15|4
3|BL45|1
4|BL50|3

Tu consulta quedaría así:
Código SQL:
Ver original
  1. SELECT * FROM Productos WHERE idProd IN(3,1,4,2) ORDER BY orden

Saludos.
Leo.
  #3 (permalink)  
Antiguo 25/08/2010, 17:20
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: No ordenar Seleccion

Una vez que lo tengas en tu cliente, puedes hacer lo que quieras con tus registros, muchas de las cosas que queremos que SQL haga, son imposibles.
  #4 (permalink)  
Antiguo 25/08/2010, 17:45
 
Fecha de Ingreso: marzo-2004
Mensajes: 70
Antigüedad: 20 años
Puntos: 0
Respuesta: No ordenar Seleccion

bueno lo he hecho mediante una funcion y la insercion 1 a 1 de cada id, creo q no es la mejor manera , creo q no me queda mas q ordenarla por listas

gracias por sus comentarios
__________________
GuzZpaWn

Etiquetas: seleccion
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 01:26.