![]() |
Datenbank: MS SQL 2000 • Zugriff über: ADO
Filter neusten Datensatz
Hallo,
ist es via Filter irgendwie möglich den ältesten Datensatz einer Tabelle anzuzeigen oder muss ich dazu immer einen Vergleichswert haben? Also meine Tabelle hat 2 Spalten Name und Datum und dann sowas wie
Delphi-Quellcode:
Query.Filter:= 'Name=''test'' AND max(Datum)';
|
Re: Filter neusten Datensatz
Hallo,
wenn Du kein Feld 'Datum' hast, dann kannst Du darauf schlecht zugreifen. Entweder Du legst Dir ein entsprechendes Feld an und füllst dieses beim Anlegen des Records mit einem TimeStamp, oder aber Du legst Dir ein Feld für den PrimaryKey an, was Du auf jeden Fall tun solltest (!!) und gehst darauf. |
Re: Filter neusten Datensatz
ja sorry, ich hatte oben Mist geschrieben, natürlich heißt eines der Felder "Datum" und ich lasse via Trigger automat. die Zeit eintragen, nur wollt ich eben so wie oben beschrieben den ältesten Eintrag filtern, aber MAX gibt es wohl bei Filter nicht...
Was macht man da? |
Re: Filter neusten Datensatz
Warum nutzt Du bei einer Query Filter, und nicht SQL?
|
Re: Filter neusten Datensatz
dann muss ich es wohl so machen
wie sehe dass denn mit SQL aus?
SQL-Code:
SELECT * FROM Tabelle WHERE Name=test AND SELECT max(Datum) FROM Tabelle
|
Re: Filter neusten Datensatz
SQL-Code:
SELECT top 1 * FROM Tabelle WHERE Name=test FROM Tabelle order by datum desc;
|
Re: Filter neusten Datensatz
das letzte 'FROM TABELLE' kann weg ;)
Oder Du machst es so:
SQL-Code:
SELECT * FROM Tabelle WHERE Name=test and datum=(SELECT max(datum) FROM Tabelle);
|
Re: Filter neusten Datensatz
Ist das dann eigentlich das gleiche:
SQL-Code:
SELECT * FROM Tabelle WHERE Name=test HAVING max(Datum)
|
Re: Filter neusten Datensatz
SQL-Code:
P.S.: HAVING geht nur im Zusammenhang mit Gruppierung AFAIK
SELECT * FROM Tabelle WHERE Name='test' and datum=(SELECT max(datum) FROM Tabelle WHERE Name='test');
|
Re: Filter neusten Datensatz
Es handelt sich hier um keine Sortierung sondern gruppieren. Dürfte so aber nicht funktionieren, da die Abfrage keine Aggegate verwendet.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz