SQL Server - SELECT über mehrere Tabellen

P

petaod

Ich bin mit meiner SQL-Weisheit am Ende.
Ich versuche mal, mein Problem auf das Notwenigste abzuspecken-

Ich habe 3 Tabellen:
Tabelle Rechnungen:
(Name, Jahr, Monat, bezahlt)
Müller, 2006, 6, 1
Müller, 2006, 7, 1
Müller, 2007, 1, 1
Müller, 2007, 3, 0
Maier, 2005, 11, 1
Maier, 2006, 12, 0

Tabelle Anschrift:
(Name, Strasse, Ort)
Müller, Hauptstr. 5, Hamburg
Maier, Bahnhofstr. 1, Bremen

Tabelle Konten:
(Name, KontoNr, BLZ)
Müller, 1234567, 7654321
Maier, 2345678, 9876543

Der Name ist jeweils eindeutig.

Ich möchte jetzt eine Abfrage:
Liste mir für alle Namen die jüngste bezahlte Rechnung (bezahlt=1) und die zugehörigen Daten.
Also folgendes Ergebnis:
Name, Jahr, Monat, Strasse, Ort, Konto, BLZ
Müller, 2007, 1, Hauptstrasse 5, Hamburg, 1234567, 7654321
Maier, 2005, 11, Bahnhofstr. 1, Bremen, 2345678, 9876543

Mein Ansatz:
SELECT R.Name Max(R.Jahr) as MaxJahr, A.Strasse, A.Ort,K.Konto, K.BLZ
FROM Rechnungen R, Anschrift A, Konten K,
WHERE R.bezahlt=1 AND R.Name=A.Name AND R.Name=K.Name
GROUP BY R.Name, A.Strasse, A.Ort, K.Konto, K.BLZ

liefert mir schon mal die Daten auf Jahresgenauigkeit. Nur fehlt mir der dazugehörige Monat.

Verschärfte Bedingung: In Wirklichkeit sind die Monate nicht mit Zahlen, sondern mit Monatsnamen (Jan, Feb, Mar...) gefüllt, aber das bekomme ich vielleicht noch abgebogen, wenn es nicht anders geht.

Bin für jede Hilfe dankbar.

petaod
 
Zurück