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

Ordenar en SQL

Estas en el tema de Ordenar en SQL en el foro de Bases de Datos General en Foros del Web. hola a todos: tengo un problema para ordenar una consulta en sql. necesito que mi consulta se ordene por un campo llamado "hora" de tipo ...
  #1 (permalink)  
Antiguo 11/09/2003, 09:19
 
Fecha de Ingreso: septiembre-2003
Ubicación: Trujillo - Perú
Mensajes: 16
Antigüedad: 20 años, 7 meses
Puntos: 0
Ordenar en SQL

hola a todos:

tengo un problema para ordenar una consulta en sql.
necesito que mi consulta se ordene por un campo llamado "hora" de tipo "string".
este campo almacena siempre uno de los siguientes valores: "07:00", "11:00", "15:00", "19:00", "23:00" y "03:00".
el ordenamiento que deseo es el siguiente: "07:00", "11:00", "15:00", "19:00", "23:00" y "03:00".
no me sirve el ordenar ascendentemente ya que el valor "03:00" se coloca al inicio y yo lo necesito al final.
mi pregunta es: ¿existe alguna manera de hacerlo mediante sql?. necesito hacerlo de esta manera.

les agradeceré por su valiosa ayuda.
__________________
[:::sabatoK:::]
  #2 (permalink)  
Antiguo 11/09/2003, 10:35
 
Fecha de Ingreso: julio-2002
Mensajes: 322
Antigüedad: 21 años, 9 meses
Puntos: 0
El ordenamiento que quieres hacer no existe como tal (no es un orden, es un caos), tanto si ordenas ese campo en modo texto como en modo hora, las 3 siempre iran antes que las 7, a no ser que cambiemos de sistemo de horario

Salu2

Ruben
http://www.losmejoresenlaces.com
__________________
Saludos

Rubén
Teléfonos móviles, curiosidades: http://telefonos-moviles.muchodenada.com/
  #3 (permalink)  
Antiguo 11/09/2003, 10:54
 
Fecha de Ingreso: septiembre-2003
Ubicación: Trujillo - Perú
Mensajes: 16
Antigüedad: 20 años, 7 meses
Puntos: 0
bueno Ruben_adap, muchas gracias por tu observación:

yo necesito que mis registros se muestren en ese orden porque estoy trabajando en un sistema para ingresar datos de muestreo de instrumentos en el que un día operativo abarca de 6:am de un día hasta las 6:am del otro.
un usuario ingresa las valores que se registran en un instrumento cada 4 horas, empezando en 7:00, luego así sucesivamente hasta llegar al último registro que ingresa, que es el de las 03:00 (del otro día, pero ese dato sigue siendo del día operativo anterior).
existe una manera de hacerlo por código en visual basic pero me llevaría más tiempo, teniendo en cuenta que también tendría que ordenarlo por código en el crystal reports cuando deseo generar el reporte.
__________________
[:::sabatoK:::]
  #4 (permalink)  
Antiguo 11/09/2003, 12:42
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años
Puntos: 7
mejor agregale un campo adicional que refleje las horas desde las 6 am y lo ordenas por ese campo
__________________
No tengo firma ahora... :(
  #5 (permalink)  
Antiguo 11/09/2003, 12:51
 
Fecha de Ingreso: septiembre-2003
Ubicación: Trujillo - Perú
Mensajes: 16
Antigüedad: 20 años, 7 meses
Puntos: 0
muchas gracias por tu consejo Mickel, pero preferiria no realizar cambios en la base de datos por que eso implicaría tener que cambiar no solo una tabla sino alrededor de 50 y a su vez su respectivo código en vb.
tengo alrededor de 50 grupos de instrumentos y para cada uno existe una tabla en la que se registran los datos en cada una de las horas anteriormente mencionadas.
__________________
[:::sabatoK:::]
  #6 (permalink)  
Antiguo 11/09/2003, 15:17
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Talvés podrías hacer algo como esto:

SELECT tus_campos FROM tabla
WHERE fecha BETWEEN (fecha_dia_anterior AND fecha_dia_siguiente) AND hora_dia_anterior >= "6:00" AND hora_dia_siguiente <= "3:00"
ORDER BY fecha, hora;

Ahí, podrías evaluar algo parecido a lo tuyo tomando en cuenta la fecha del día y el restante del otro, ordenando por fecha para que tome el 3:00 del día siguiente de último.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #7 (permalink)  
Antiguo 11/09/2003, 16:08
 
Fecha de Ingreso: septiembre-2003
Ubicación: Trujillo - Perú
Mensajes: 16
Antigüedad: 20 años, 7 meses
Puntos: 0
muchas gracias BrujoNic, esa opción es bastante buena.
__________________
[:::sabatoK:::]
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 23:14.