Supportnet / Forum / Datenbanken
Aggregatfunktion "MAX()" in WHERE-Klausel nicht möglich
Frage
Ein freundliches "Hallo" an alle, die mir helfen möchten
In einer ACCESS-Datenbank-Tabelle möchte ich den jüngsten Datensatz durch SQL-Befehl ausgelesen bekommen.
Die ID ist ein AutoWert und somit hat der zu letzt neu angelegte Datensatz die höchste ID.
Auf den ersten Blick, wäre folgende Formel genau richtig:
SELECT * FROM Tabelle WHERE id=MAX(id);
Leider ist dieser Ausdruck nicht gültig, weil MAX() eine Aggregatfunktion ist und diese in der WHERE-Klausel grundsätzlich nicht möglich ist.
Wie müsste die Formel nun richtig heißen, um das gewünschte Ergebnis zu liefern?
Viele, liebe Grüße und Dank im Voraus
Axel - der ChatAlligator
Antwort 1 von mr_x_hacker
Hmm, ich habe keine Ahnung von Access, aber im "offiziellen" SQL könntest Du es z.b. so machen:
SELECT * FROM Tabelle WHERE id >= (SELECT MAX(id) FROM Tabelle)
Dazu müssen halt Subselects unterstützt werden...
Ciao Sascha
SELECT * FROM Tabelle WHERE id >= (SELECT MAX(id) FROM Tabelle)
Dazu müssen halt Subselects unterstützt werden...
Ciao Sascha
Antwort 2 von ChatAlligator
Danke Sascha - es ist wunderbar - ES FUNKTIONIERT
Gruß
Axel - der ChatAlligator
Gruß
Axel - der ChatAlligator

