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

Como realizar order by especifico

Estas en el tema de Como realizar order by especifico en el foro de SQL Server en Foros del Web. Hola, Lo que quiero hacer parece simple pero nose si hay algún comando q te permita hacerlo directamente. Tengo una consulta sql Select * From ...
  #1 (permalink)  
Antiguo 15/02/2011, 05:45
 
Fecha de Ingreso: agosto-2010
Mensajes: 29
Antigüedad: 14 años, 3 meses
Puntos: 0
Como realizar order by especifico

Hola,

Lo que quiero hacer parece simple pero nose si hay algún comando q te permita hacerlo directamente.

Tengo una consulta sql

Select * From Peticiones Where ((estado != 'Realizada') OR (estado = 'Realizada' AND fechaestado >= '" + fecha7 + "')) Order by estado ASC.

El problema sq quiero cambiar el orden y que me salgan según la siguiente lista:
1º - estado = 'Sin Procesar'
2º - estado = 'Planificada Producción'
3º - estado = 'Planificada Parada'
4º - estado = 'Realizada'

¿Alguien sabe como puedo hacer para decirle al select q me obtenga los datos en ese orden dependiendo del dato del campo estado?

Muchas gracias de antemano¡¡¡¡
  #2 (permalink)  
Antiguo 15/02/2011, 05:58
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 9 meses
Puntos: 89
Respuesta: Como realizar order by especifico

Puedes hacer una columna y ordenar por ella

Código SQL:
Ver original
  1. SELECT *,
  2. CASE
  3. WHEN estado = 'Sin Procesar' THEN '1'
  4. WHEN estado = 'Planificada Producción' THEN '2'
  5. WHEN estado = 'Planificada Parada' THEN '3'
  6. WHEN estado = 'Realizada' THEN '4'
  7. END AS B
  8. FROM Peticiones
  9. WHERE ((estado != 'Realizada')
  10. OR (estado = 'Realizada' AND fechaestado >= '" + fecha7 + "'))
  11. ORDER BY B
  #3 (permalink)  
Antiguo 15/02/2011, 07:32
 
Fecha de Ingreso: agosto-2010
Mensajes: 29
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Como realizar order by especifico

No se me habia ocurrido hacerlo así

Muchas gracias¡¡¡

Etiquetas: especifico, order, realizar
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 18:10.