Foros del Web » Programando para Internet » ASP Clásico »

Order By

Estas en el tema de Order By en el foro de ASP Clásico en Foros del Web. fecha="08292002" hora="13:13" sql="select * from base order by clng(fecha) desc;" hasta ahi me ordena los datos por fecha en orden descendente sin ningun problema , ...
  #1 (permalink)  
Antiguo 29/08/2002, 12:00
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
Order By

fecha="08292002"
hora="13:13"

sql="select * from base order by clng(fecha) desc;"

hasta ahi me ordena los datos por fecha en orden descendente sin ningun problema , pero... si lo hago asi:

sql="select * from base order by clng(fecha), hora desc;"

no ordena nada!!

Saludos
  #2 (permalink)  
Antiguo 29/08/2002, 12:04
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: Order By

sql="select * from base order by clng(fecha), hora desc;"

bueno primero que nada no se para que sea el clng espero puedas decirme.

Y segundo estas ordenando su query por la hora de forma descendente. Si quieres ordenar la fecha y la hora de forma descendentes:

sql="select * from base order by clng(fecha) desc, hora desc;"

Saludos

<center>
<a href=http://comunidadguru.com><img border=0 src=http://comunidadguru.com/imagenes/logos/logo.gif></a>
</center>
  #3 (permalink)  
Antiguo 29/08/2002, 12:14
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
Re: Order By

el clng era para transformar el campo fecha que era caracter a numerico y asi estar bien seguro de que me lo ordenaria correctamente.

ahora si resulto! muchas gracias ;) para variar me salvaste la campana!
  #4 (permalink)  
Antiguo 02/09/2002, 09:56
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
Re: Order By

hola de nuevo!
tengo otro problema

fecha=&quot;08292002&quot; (tipo texto)
hora=&quot;13:13&quot; (tipo texto)

si hago un:
SQL=&quot;SELECT * FROM base ORDER BY fecha DESC; hora DESC;&quot;

suponiendo que hay tres registros en la base:
fecha1=&quot;08282001&quot;
fecha2=&quot;08302001&quot;
fecha3=&quot;08292002&quot;

los ordena de esta manera :
fecha2
fecha3
fecha1

pero deberia ser asi :
fecha3
fecha2
fecha1

como poder hacerlo para que los desplegue correctamente??

Saludos
  #5 (permalink)  
Antiguo 02/09/2002, 12:33
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
Re: Order By

alguien puede ayudarme por favor??
  #6 (permalink)  
Antiguo 02/09/2002, 13:21
 
Fecha de Ingreso: enero-2002
Mensajes: 189
Antigüedad: 23 años, 3 meses
Puntos: 0
Re: Order By

Hola pcarbajal:

Me ha quedado la curiosidad del uso que haces del order by clng(fecha)

sql=&quot;select * from base order by clng(fecha), hora desc;&quot;

Segun mi reducido conocimiento de sql, luego del order by viene un campo de la tabla o un indice de la misma pero no habia visto que se utilizara una función; me puedes decir que bd usas?

Respecto a tu ultima consulta
SQL=&quot;SELECT * FROM base ORDER BY fecha DESC; hora DESC;&quot;

me parece que el resultado esta bien pues el primer orden que definiste (fecha) tiene prioridad; por lo tanto solo en el caso que los valores de fecha sean iguales entra en acción el segundo modo de ordenamiento (hora).

saludos!!
  #7 (permalink)  
Antiguo 02/09/2002, 13:36
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
Re: Order By

Hola!
(ya pensaba que me estaba volviendo loco... creia que era el unico usuario activo del sitio... )

Bueno, el clng(fecha) es un &quot;ultimo recurso&quot; desesperado de mi parte por que me ordene correctamente los campos como yo espero que lo haga... como fecha es solo texto, estaba intentando transformarla a numero para ver si asi resultaba... :roto:

Lo que pasa es que como mi campo fecha es mes/dia/año no me prioriza el año a la hora de ordenarlos, sino que mes y dia
asi entonces, me ordena de la siguiente manera:
1) 08122001
2) 08132002

en vez de (que es como deberia ser):
1) 08132002
2) 08122001

He intentado de todo... incluso ese clng en la sentencia SQL...
  #8 (permalink)  
Antiguo 02/09/2002, 15:02
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 23 años, 4 meses
Puntos: 8
Re: Order By

bueno... al fin lo logre...
ahora si que me funciona , (y por si a alguien puede servirle de algo) la sentencia finalmente queda asi:
SQL: &quot;.... ORDER BY mid(fecha,5,4) DESC, mid(fecha,1,2) DESC, mid(fecha,3,2) DESC; &quot;

Saludos
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 11:05.