Abfrage mit MAX(Datum)

07/09/2008 - 11:56 von Mario Krsnic | Report spam
Hallo zusammen!
Kann mir jemand helfen, diese Abfrage zu verbessernß

SELECT personen.Familienname, personen.Vorname, Diagnose, Evaldatum,
perspflege2.lfd_nr
FROM (perspflege2 INNER JOIN personen ON personen.lfd_nr=perspflege2.lfd_nr)
INNER JOIN diageval ON diageval.id=perspflege2.id

jetzt möchte ich die Abfrage ergànzen mit noch einer Bedingung.
Ich möchte die Sàtze mit dem letztem Datum aus der Tabelle DiagEval
auflisten und habe so probiert:
WHERE max(diageval.datum) = 2/2/2008
Das Access erlaubt dies aber nicht. Mit:
WHERE diageval.datum = 2/2/2008
bekomme ich korrekte Abfrage, aber leider nicht mit dem letzten (größten)
Datum.

Kann man das Problem auf andere Weise lösen?
Vielen Dank im voraus!
Mario
 

Lesen sie die antworten

#1 Thomas Möller
07/09/2008 - 12:30 | Warnen spam
Hallo Mario,

Mario Krsnic schrieb:
Kann mir jemand helfen, diese Abfrage zu verbessernß

SELECT personen.Familienname, personen.Vorname, Diagnose, Evaldatum,
perspflege2.lfd_nr
FROM (perspflege2 INNER JOIN personen ON
personen.lfd_nr=perspflege2.lfd_nr) INNER JOIN diageval ON
diageval.id=perspflege2.id

jetzt möchte ich die Abfrage ergànzen mit noch einer Bedingung.
Ich möchte die Sàtze mit dem letztem Datum aus der Tabelle DiagEval
auflisten und habe so probiert:
WHERE max(diageval.datum) = 2/2/2008
Das Access erlaubt dies aber nicht. Mit:
WHERE diageval.datum = 2/2/2008
bekomme ich korrekte Abfrage, aber leider nicht mit dem letzten
(größten) Datum.



da sollte Dir eine Unterabfrage helfen (AirCode):

SELECT personen.Familienname,
personen.Vorname,
Diagnose,
Evaldatum,
perspflege2.lfd_nr
FROM (perspflege2
INNER JOIN personen ON
personen.lfd_nr=perspflege2.lfd_nr)
INNER JOIN diageval AS E1 ON
E1.id=perspflege2.id
WHERE E1.Evaldatum (SELECT MAX(E2.datum)
FROM diageval As E2
WHERE E1.ID = E2.ID)


HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen