Suche nach letztem verfügbarem Datum

Hallo zusammen,

ich bin auf der Suche nach folgender Funktionalität:

Ich suche in einer DB einen Datensatz zu einem bestimmten Datum. Gibt es zu dem Datum keinen Datensatz, möchte ich gerne den Datensatz, mit einem Datum kurz davor.
Das ganze soll so eine Art suche nach dem letzten Stand sein.

Um das noch einmal an einem Beispiel zu verdeutlichen:

Es gibt Einträge zu den Daten
01.01.2007
02.01.2007
04.01.2007

Wenn ich eine Abfrage nach dem 03.01.2007 mache, möchte ich gerne den Datensatz vom 02.01.2007 zurückgeliefert bekommen.
Eine Idee, wie ich das realisiere?

Danke!

Hallo Stella,

irgendwie riecht mir das nach „Hausaufgaben“… :wink:
Erstmal einige Gegenfrage: Welche Datenbank, wie heißen Tabelle und Spalten, was steht in der Datummspalte (Datum oder Datum/Uhrzeit), wenn letzteres, ist das von Interesse, ist die Datumsspalte eindeutig…?
In etwa so (für Oracle):

Select \* from tabelle where datum=(select max(datum) from tabelle where trunc(datum) 

HTH, muzel

Hi Stella,

hier noch eine Variante für MS-SQL-Server:

select top 1 * from tabellenname where datumfeldname

Hallo,

versuch’s doch mal damit:

select * from [tabname] where datum [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]