Hallo,
und zwar geht es bei meinem Fall um eine MSSQL 2000 Abfrage.
Ich habe eine Datenbank mit zwei Tabellen -> Adressen und Aktionen
Ich möchte nun alle Adressen ausgegeben bekommen, wo nach 01.01.2008 eine Aktion gemacht wurde. Und hier möchte ich nur die aktuellste Aktion ausgegeben bekommen.
Bspl.
Adresse 1 - Aktion XY - 05.05.2008 --> ausgeben
Adresse 2 - 0 Aktionen in der Datenbank --> nicht ausgeben, da keine Aktionen
Adresse 3 - Aktion Bla - 12.12.2007 --> nicht ausgeben, da Aktion zu alt
Einer Adresse können mehrere Aktionen zugeordnert sein, aber wie gesagt, es soll zu der Adresse nur die neuste angezeigt werden.
Wie kann man das umsetzen? Habe da schon einiges Probiert, bin aber zu keinen 100% Erfolg gekommen, ich habe immer wieder Datensetze enthalten, die nicht stimmen, also wo die Aktion nicht zur Adresse passt usw.
Hier mein akt. Abfrage Code:
Danke für eure Hilfe!
Gruß
und zwar geht es bei meinem Fall um eine MSSQL 2000 Abfrage.
Ich habe eine Datenbank mit zwei Tabellen -> Adressen und Aktionen
Ich möchte nun alle Adressen ausgegeben bekommen, wo nach 01.01.2008 eine Aktion gemacht wurde. Und hier möchte ich nur die aktuellste Aktion ausgegeben bekommen.
Bspl.
Adresse 1 - Aktion XY - 05.05.2008 --> ausgeben
Adresse 2 - 0 Aktionen in der Datenbank --> nicht ausgeben, da keine Aktionen
Adresse 3 - Aktion Bla - 12.12.2007 --> nicht ausgeben, da Aktion zu alt
Einer Adresse können mehrere Aktionen zugeordnert sein, aber wie gesagt, es soll zu der Adresse nur die neuste angezeigt werden.
Wie kann man das umsetzen? Habe da schon einiges Probiert, bin aber zu keinen 100% Erfolg gekommen, ich habe immer wieder Datensetze enthalten, die nicht stimmen, also wo die Aktion nicht zur Adresse passt usw.
Hier mein akt. Abfrage Code:
Code:
SELECT Tabelle1.Adresse, Tabelle2.Erfassungsdatum FROM Tabelle1 CROSS JOIN Tabelle2 WHERE (Tabelle2.Erfassungsdatum = (SELECT TOP 1 (Erfassungsdatum) FROM Tabelle2 WHERE Tabelle1.Adresse = Tabelle2.Herkunft)) ORDER BY Tabelle1.Adresse
Danke für eure Hilfe!
Gruß
Comment