Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: C4RL0 am Juni 13, 2012, 14:19:15

Titel: SQL: Nur neuesten Eintrag aus DB holen
Beitrag von: C4RL0 am Juni 13, 2012, 14:19:15
Hallo zusammen,

ich arbeite mit folgendem SQL-Statement, welches funktioniert aber noch nicht ausreichend ist:


SELECT tbltrack.trkid,
       tbltrack.trkauftragsnummer,
       tbltrack.trkabsender,
       tbltrack.trkzeit,
       tblabteilungen.abtname
FROM   tblabteilungen
       INNER JOIN tbltrack
               ON tblabteilungen.abtid = tbltrack.trkziel
WHERE  trkauftragsnummer LIKE '1234567'



Ich habe in der Tabelle tblTrack noch ein Feld trkZeit, in welchem ein Zeitstempel abgelegt ist.
O.g. Abfrage liefert mir jetzt mehrere Daternsätze, ich möchte anhand des Feldes trkZeit allerdings nur den letzten Datensatz erhalten.
Wie baue ich das MAX(trkZeit) passend in die Abfrage ein?

Danke im Voraus für die Antworten.
Titel: Re: SQL: Nur neuesten Eintrag aus DB holen
Beitrag von: DF6GL am Juni 13, 2012, 15:38:48
Hallo,


eine Möglichkeit ohne Unterabfrage:

SELECT  Top 1 tbltrack.trkid,
       tbltrack.trkauftragsnummer,
       tbltrack.trkabsender,
       tbltrack.trkzeit,
       tblabteilungen.abtname
FROM   tblabteilungen
       INNER JOIN tbltrack
               ON tblabteilungen.abtid = tbltrack.trkziel
WHERE  trkauftragsnummer = '1234567'
Order by tbltrack.trkzeit desc
Titel: Re: SQL: Nur neuesten Eintrag aus DB holen
Beitrag von: C4RL0 am Juni 13, 2012, 16:15:57
Hat perfekt geklappt, danke!