SELECT Datensatz mit Datumsbereich
bearbeitet von Rolf bGeht alles mit nackigem SQL.
Ich nehme mal an, dass deine Tabelle irgendwie so aussieht:
~~~
Maschine int
Meldezeit datetime
Wert1 int
Wert2 int
Wert3 int
~~~
Dann liefert dir diese Query das höchste bekannte Datum, zu dem eine Maschine gemeldet hat:
~~~sql
SELECT Maschine, CAST(MAX(Meldezeit) as DATE) as MaxDate
FROM Meldungen
GROUP BY Maschine
~~~
Diese Query kannst Du als Subquery verwenden und mit deiner Tabelle Joinen:
~~~sql
SELECT m.Maschine, m.Meldezeit, m.Wert1, m.Wert2, m.Wert3
FROM Meldungen m
JOIN (SELECT Maschine, CAST(MAX(Meldezeit) as DATE) as MaxDate
FROM Meldungen
GROUP BY Maschine) r
ON m.Maschine = r.Maschine AND CAST(m.Meldezeit as DATE) = r.MaxDate
~~~
Ergebnis: Zu jeder Maschine bekommst Du die Meldungen zum letzten bekannten Tag.
_Rolf_