Categorías destacadas
programacion php    
Lista de foros

Problemas con una consulta


Ramón Lira
19 de Mayo del 2010

Hola, quiero hacer una consulta a una tabla donde tengo un campo llamado "Longitud" donde estan insertadas un gran numero de longitudes, y quiero que me arroge la longitud mas cercana a la que yo le proporsione. por ejemplo si yo le doy la longitud "95.87" y en la tabla hay longitudes: "95.45" , "95.91" , "95.99", etc. Lo correcto seria que me arrojara la "95.91".

Agradeceria la ayuda, estaba pensando hacer algun algoritmo desde código pero quiero saber si hay alguna función como MAX, MIN, etc.


Carlos Cordo
24 de Mayo del 2010

Ramon,
Tu pregunta es muy interesante y me di a la tarea de buscar una respuesta para usted.

Sin embargo en el camino me encontre con varias preguntas para usted.

Primero que tipo de base de datos estas usando?

Si es Oracle hay una funcion que se llama greatest() que la puedes usar para hacer lo que necesitas.

si es MS-SQL entonces esta este post en donde Arnei Rowland escribio una funcion que simula el funcionamiento de la funcion anterio. Esta muy bueno dale un vistaso y me avisa si ocupas ayuda.

http://social.msdn.microsoft.com/forums/en-US/transactsql/thread/d5583d1e-df78-4552-80e9-c63cfe0eb0c3

Y si necesitas Hosting o asistencia technica visitanos en
http://www.crystaltech.com?id=000231



Carlos Co


Ramón Lira
03 de Junio del 2010

Hola Carlos,

Muchas gracias por tu respuesta, la verdad no había vuelto entrar porque entre algunas veces y no habían contestado y como en otros foros ya había preguntado eso y nada.

Bueno mira estoy usando SQL Server 2008, y eso aun no lo resuelvo, estuve mientras con otras cosas, voy a echarle un vistazo a lo que me proporcionaste veré si puedo tomar algo de ahí, sin embargo si hay algo que puedas decirme para SQL Server te lo agradecería.


Ramón Lira
03 de Junio del 2010

Ho ho,

Disculpa, confundí MS-SQL pensé que habías puesto My SQL.

Le echare un vistazo.


Luis Alberto Diaz
08 de Junio del 2010

Trata con este query que preparé:

select case when abs(menor) (
select 95.87-(select max(longi) from longitudes where longi<=\'95.87\') menor,
95.87-(select min(longi) from longitudes where longi>=\'95.87\') mayor
) x

Reemplazas el 95.87 por el valor que deseas encontrarle el más cercano.


Luis Alberto Diaz
08 de Junio del 2010

por alguna razon me está modificando la primera linea... seria

select case when abs(menor) < abs(mayor) then 95.87-abs(menor) else 95.87+abs(mayor) end mascerca from

 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon