Hallo,
und zwar geht es bei meinem Fall um eine MSSQL 2000 Abfrage.
Ich habe eine Datenbank mit zwei Tabellen -> Adressen und Aktionen
Tabelle 1 -> Nur die Adresse
Tabelle 2 -> die Aktionen, mit Herkunft (für die Verknüpfung zur Adresse), Name und Erfassungsdatum.
Ich will alle Adessen aus Tabelle 1 mit der letzten Aktion (Name, Datum) die zu der Adresse passt. Wenn es zu einer Adresse keine Aktion gibt, soll die Adresse nicht ausgeben werden.
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
Tabelle 1 -> Nur die Adresse
Tabelle 2 -> die Aktionen, mit Herkunft (für die Verknüpfung zur Adresse), Name und Erfassungsdatum.
Ich will alle Adessen aus Tabelle 1 mit der letzten Aktion (Name, Datum) die zu der Adresse passt. Wenn es zu einer Adresse keine Aktion gibt, soll die Adresse nicht ausgeben werden.
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ß