Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/11/2010, 10:00
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 10 meses
Puntos: 447
Respuesta: Campo calculado para ordenar query??

Buenos días diminuta79:

Puedes hacer un decode en la sección Order by para asignarle el orden que quieras algo como esto:

Código SQL:
Ver original
  1. --Creamos una tabla de ejemplo
  2. CREATE TABLE ejemplo_estados (id INT, descripcion VARCHAR(20));
  3.  
  4. --insertamos los valores de los estados
  5. INSERT INTO ejemplo_estados VALUES (1, 'Pendiente');
  6. INSERT INTO ejemplo_estados VALUES (2, 'Otro Estado');
  7. INSERT INTO ejemplo_estados VALUES (3, 'Paralizado');
  8. INSERT INTO ejemplo_estados VALUES (4, 'Devuelto');
  9. INSERT INTO ejemplo_estados VALUES (5, 'Un Estado más');
  10. INSERT INTO ejemplo_estados VALUES (6, 'Pendiente Rev');
  11. INSERT INTO ejemplo_estados VALUES (7, 'Pendiente Inf');
  12. INSERT INTO ejemplo_estados VALUES (8, 'Paralizado inf');
  13.  
  14. --Mostramos los registros ordenados por id
  15. SELECT * FROM ejemplo_estados ORDER BY id
  16.  
  17. --Mostramos los registros ordenados por descripcion
  18. SELECT * FROM ejemplo_estados ORDER BY descripcion
  19.  
  20. --Mostramos los registros en el orden especificado por nosotros
  21. SELECT * FROM ejemplo_estados ORDER BY decode(id,1,1,7,2,6,3,3,4,8,5,4,6);
  22.  
  23. ---Eliminamos la tabla de ejemplo
  24. DROP TABLE ejemplo_estados;

Si observas intencionalmente agregué dos estados adicionales (id 2 y id 5) estos deberán aparecer al final de la lista ya que al no incluirse en el decode se les asignará un null

Saludos y espero que te pueda servir de algo.
Leo.