Supportnet Computer
Planet of Tech

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

Antwort 2 von ChatAlligator

Danke Sascha - es ist wunderbar - ES FUNKTIONIERT

Gruß
Axel - der ChatAlligator