Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   ¿cómo puedo hallar el mínimo de la diferencia de 2 campos de todos los registros? (https://www.clubdelphi.com/foros/showthread.php?t=23780)

nuri 28-07-2005 13:10:06

¿cómo puedo hallar el mínimo de la diferencia de 2 campos de todos los registros?
 
Hola a todos, ya estoy aki dando guerra.
Tengo una tabla con tres campos,ID(Number), fecha(tipo date) y matricula (tipo Alfanumérico), a partir de un registro tengo que calcular el registro cuya diferencia de fechas sea mínima.
Sería algo así:
Código Delphi [-]
  Query1.SQL.Text:='SELECT * FROM TABLA WHERE "MINIMO(FECHA,:datofecha)"'

Siendo "datofecha" un parámetro y fecha un campo de la tabla.
¿existe alguna función similar?
La tabla es en paradox y tengo delphi5.
Gracias a quien pueda darme una idea.
Atentamente
Nuri

Neftali [Germán.Estévez] 28-07-2005 13:22:47

Creo que puedes obtener el mismo resultado haciendo una consulta sobre la tabla con un WHERE por la fecha y luego ordenando (ORDER BY); La primera fecha (TOP 1) será la más próxima.

En todo caso un UNION para obtener la más cercana "por encima" y la más cercana "por abajo"; Luego es cuestión de entre esas dos escoger una.

No se si me he explicado bien...

Código SQL [-]
 SELECT TOP 1 FROM TABLA WHERE FECHA>:datofecha ORDER BY FECHA ASC
 UNION 
 SELECT TOP 1 FROM TABLA WHERE FECHA<:datofecha ORDER BY FECHA DESC

Te debería dar las dos fechas más cercanas (creo :D).

nuri 28-07-2005 13:26:08

okis gracias, voy a probar.....;)

marcoszorrilla 28-07-2005 13:40:43

Siento decir que Paradox no incluye la claúsula Top.

Un Saludo.

Neftali [Germán.Estévez] 28-07-2005 13:56:57

ohhhhhhhhhhhhhhhhhhhhhhhhh!!!!!!

Lo siento, escribí mucho y pensé poco.... :(

marcoszorrilla 28-07-2005 13:58:44

Es que Paradox es paradójico..............

Un Saludo.

nuri 28-07-2005 15:52:38

No importa puesto que me has dado la idea y lo he solucionado.
Muchas gracias a ambos.
Ahora la duda que tengo es cómo sé si una consulta no devuelve nada.
Atentamente;)
Nuri

marcoszorrilla 28-07-2005 17:51:33

Puedes saber si devuelve algo o no:
Código Delphi [-]
MiConsulta.IsEmpty;
 //ó
   MiConsulta.RecordCount > 0;
Un Saludo.

nuri 28-07-2005 18:34:57

okis gracias.;)


La franja horaria es GMT +2. Ahora son las 00:52:41.

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