Hi!
Obacht: Ich bin selbst blutiger Anfänger und hab mir Dein Problem mal quasi als "Übungsaufgabe" gestellt.
Das kam dabei raus:
Code: Alles auswählen
Select
"Einkauf"."Name",
"Einkauf"."Einkaufsdatum",
"Einkauf"."Einkauf"
From
"Einkauf"
join
(SELECT "Einkauf"."Name", Max("Einkauf"."Einkaufsdatum") as LetzterEinkauf
FROM "Einkauf"
GROUP BY "Einkauf"."Name" )
on "Einkauf"."Einkaufsdatum" = LetzterEinkauf
join "Kundendaten" on "Kundendaten"."Name" = "Einkauf"."Name"
where "Kundendaten"."Aktiv" = true and "Kundendaten"."Geschlecht" = 'männlich'
In der letzten Zeile hinter "where" kannst Du nun beliebig Deine Bedingungen setzen.
Was mir aufgefallen ist:
Ich würde
a)
In der Tabelle "Kundendaten" nicht den Namen als Primärschlüssel setzen. Es kann ja durchaus mehrere "Mustermann" (Herr und Frau) geben.
Ich würde da einfach ein weiteres Feld "Kundennummer" einfügen, automatisch füllen lassen und das dann als Primärschlüssel setzen.
b)
In der Tabelle "Einkauf" würd ich dann nicht den Namen reinschreiben, sondern eine Verknüpfung über die Kundennummer auf Tabelle "Kundendaten" setzen.
In Deiner jetzigen Form bekommst Du ein Problem, wenn Du Herrn "Mustermann" einmal als "Musterman" (fehlendes "n") und einmal als "Mustermann" in der Tabelle "Einkauf" erfasst. Der taucht dann doppelt in der Abfrage auf.
hth