SQL-Abfrage: Mitglieder die keinen Beitrag bezahlt haben anzeigen lassen

aro69

Mitglied
Hallo Leute,

Ich bin gerade dabei ein Datenbank in Access2000 für Mitgliederverwaltung eines Förderkreises zuerstellen.

Ich möchte gern eine Abfrage in SQL zusammenbasteln. Es soll die Mitglieder auflistet, die kein Beitrag bezahlt haben.
Nehme dafür die Tabelle Mitglieder mit den Mitgliedsdaten und die Tabelle Beiträge wo welcher Mitglied wieviel und wann gezahlt hat.

Dafür hab ich diese SQL-Abfrage gemacht, aber es zeigt mir die Mitglieder die ein Beitrag bezahlt haben, also das gegenteil will ich erreichen.

SELECT M.Anrede, M.Name, M.Vorname, M.Semester, M.Schulform, M.Schulungsjahr, Year(M.Eintrittsdatum) AS Eintrittsjahr
FROM Mitglieder AS M INNER JOIN Beiträge AS B ON M.Mitgl_Nr=B.Mitgl_Nr
GROUP BY M.Anrede, M.Name, M.Vorname, M.Semester, M.Schulform, M.Schulungsjahr, Year(M.Eintrittsdatum), B.Beitrag_für_das_Jahr, Year(M.Eintrittsdatum)
HAVING (((B.Beitrag_für_das_Jahr)=[Welches Jahr]) And ((Year(M.Eintrittsdatum))<=B.Beitrag_für_das_Jahr));

Was muss ich dabei ändern?:confused:

Danke im vorraus für Eure antworten
 
Zuletzt bearbeitet:
Code:
SELECT M.Anrede, M.Name, M.Vorname, M.Semester, M.Schulform, M.Schulungsjahr, Year(M.Eintrittsdatum) AS Eintrittsjahr
FROM Mitglieder AS M INNER JOIN Beiträge AS B ON M.Mitgl_Nr=B.Mitgl_Nr
GROUP BY M.Anrede, M.Name, M.Vorname, M.Semester, M.Schulform, M.Schulungsjahr, Year(M.Eintrittsdatum), B.Beitrag_für_das_Jahr, Year(M.Eintrittsdatum)
HAVING (((B.Beitrag_für_das_Jahr)<[Welches Jahr]) And ((Year(M.Eintrittsdatum))<=B.Beitrag_für_das_Jahr));


Geändert wurde nur das = in ein < allerdings würde ich das was im Having steht in ein Where packen da dies meist performanter ist .

Grüsse bb
 
Zurück