Consulta Aproximada
Saludos!
Necesito consultar un registro en una tabla por una fecha y si no existe esta fecha que me devuelva el registro con la fecha proxima a la especificada. Trabajo con delphi 7 y sql server 2005. Gracias por adelantado... |
Desde luego, tienes primero que definir lo que entiendes por fechas próximas. Por ejemplo, esta consulta
te devolvería los registros que disten menos de cinco días de la fecha indicada en el parámetro :fecha. Si quieres el más cercano (en días) podrías intentar esto:
// Saludos |
Hola,
asi, de primeras, se me ocurre hacer dos consultas, yo trabajo con Adoquerys.
Espero que te sirva de ayuda. Saludos. |
Bueno, se me adelantó roman.
Además con la opción que te indica roman te muestra la más cercana tanto por arriba como por abajo, en mi propuesta te muestra la más cercana pero siempre inferior a la que introduces como parametro. Saludos. |
Cita:
Habría que añadir una condición de que datediff > 0. // Saludos |
Hola.
En Firebird haría la consulta así. Igual o próximo anterior:
Igual o próximo posterior:
Por lo que indico roman, creo que el equivalente en MS SQL Server del FIRST 1 de Firebird, es TOP 1, así que tendrías que hacer el reemplazo. Saludos. |
Cita:
Creo que tu consulta es más eficiente ya que restringes los registros resultantes desde el select. // Saludos |
Bueno, lo que si es cierto es que sigo en cabeza con la peor opción. :D
Saludos. |
Ja, ja. No lo veas así. Tu opción y la de ecfisa son esencialmente iguales. La diferencia es que él selecciona el primer registro desde la consulta, evitando así el viaje de registros innecesarios hacia el cliente.
// Saludos |
Consulta Sql
Tengo suficiente opciones escogeré la mejor...
|
La franja horaria es GMT +2. Ahora son las 15:32:58. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi