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

Ordenar por PRECIO

Estas en el tema de Ordenar por PRECIO en el foro de ASP Clásico en Foros del Web. HOLA MAESTROS!!! Estoy en un problema, del que seguro podrán sacarme. Hace un tiempo cree un sitio web para una empresa inmobiliaria. En él, además ...
  #1 (permalink)  
Antiguo 29/04/2003, 04:51
 
Fecha de Ingreso: enero-2002
Mensajes: 10
Antigüedad: 22 años, 5 meses
Puntos: 0
Ordenar por PRECIO

HOLA MAESTROS!!!

Estoy en un problema, del que seguro podrán sacarme. Hace un tiempo cree un sitio web para una empresa inmobiliaria. En él, además de otras cosas, la propia inmobiliaria actualizaba los pisos, oficinas etc. que tenía a la venta.

Hasta ahí ningún problema.

PEEEEEROO resulta que ahora quieren que los resultados que vienen de base de datos se ordenen por precio. Y aquí viene el problema. Yo trabajo con Ultradev 4 y ACCESS

La solución sería sencilla. Poner en la propia base de datos que el campo "Precio" es númerico. Pero si hago esto, la página no me funciona.

Ya sé que el access no es una buena solución para las páginas asp, pero... por favor... ¿Alguien sabe como ordenar de menor a mayor estos resultados?

Si les sirve, el código que uso para hacer la consulta contra la Bdd es el siguiente:

Código:
SELECT *
FROM localescomerciales
WHERE tipo = 'MMColParam'
Donde MMColParam es el criterio de búsqueda, que en este caso, podría ser: oficinas alquiler.

Así que me falta el ORDER BY ... ¿Cómo lo hago?????



Nada más. Espero que puedan echarme una mano.

GRACIAS MASTERS!!!!
  #2 (permalink)  
Antiguo 29/04/2003, 05:15
 
Fecha de Ingreso: enero-2002
Ubicación: Zaragoza
Mensajes: 144
Antigüedad: 22 años, 5 meses
Puntos: 0
Si el precio es numerico:
SELECT *
FROM localescomerciales
WHERE tipo = 'MMColParam'
order by precio desc

Si el precio no es númerico lo tendras que convertir [Aunque muchas veces no es posible]:

CAST(precio AS float), o sea algo similar a esto(este tipo de conversión nunca la he probado en la ordenación, solo la he probado en la selección):


SELECT *
FROM localescomerciales
WHERE tipo = 'MMColParam'
order by CAST(precio AS float) desc


Pero sin lugar a dudas la mejor solución es convertir a numerico el propio campo de la base de datos .


Espero que te sirva
  #3 (permalink)  
Antiguo 29/04/2003, 05:18
 
Fecha de Ingreso: enero-2002
Mensajes: 10
Antigüedad: 22 años, 5 meses
Puntos: 0
No puedo convertirlo!!

Resulta que si cambio el tipo de campo en la Bdd, la página no funciona.

De cualquier manera, voy a probar eso que me dices a ver qué tal.

Muchas gracias , y... sigue abierta la veda!!!!

Hasta luego!
  #4 (permalink)  
Antiguo 29/04/2003, 05:36
 
Fecha de Ingreso: enero-2002
Mensajes: 10
Antigüedad: 22 años, 5 meses
Puntos: 0
Desacuerdo Probado!!

Ya he probado lo de ordenar mediante CAST(alquiler AS float)...

Y no me funciona

Me da este error:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Controlador ODBC Microsoft Access] Error de sintaxis (falta operador) en la expresión de consulta 'CAST(alquiler AS float)'.
/TMP9m4qfe3qmn.asp, line 15

La consulta entera me ha quedado así:
SELECT *
FROM localescomerciales
WHERE tipo = 'MMColParam'
ORDER BY CAST(alquiler AS float) desc

¿Me falta algo? Ya dije que trabajo con el Ultradev 4, así pues, ¿tengo que definir alguna variable, por ejemplo... float???????

Muchas gracias otra vez!!
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 21:42.