ich habe mal wieder ein Problem mit meiner Fördervereins-Datenbank.
Folgende (vereinfachte Tabellen)
MITGLIED:
id_Mitglied (Primärschlüssel)
Nachname
Vorname
Kinder:
id_Kind (Primärschlüssel)
id_Mitglied
Name
Vorname
ÜMI seit
Kündigung ÜMI zum:
KinderMonateÜMI:
id_Kinder (Primärschlüssel)
Datum (Primärschlüssel)
Betrag
1:N Beziehung zwischen Mitglied und Kinder
1:N Beziehung zwischen Kinder und UEMI
Also kann jedes Mitglied mehrere Kinder haben.
Pro Monat hat jedes Kind (bzw. die Eltern für das Kind) einen Betrag UEMI-Betrag) zu entrichten.
Die Abfrage, die mir jeweils eine Zeile Pro kind liefert ist ja in etwas so:
Code: Alles auswählen
SELECT distinct
"Mitglieder"."ID_Mitglied",
"Mitglieder"."KontoVorname",
"Mitglieder"."KontoName",
"Kinder"."ID_Kinder",
"Kinder"."KindName",
"Kinder"."KindVorname",
"UEMI"."Betrag" FROM "Kinder" AS "Kinder",
"Mitglieder" AS "Mitglieder",
"UEMI" AS "UEMI"
WHERE "Kinder"."ID_Mitglied" = "Mitglieder"."ID_Mitglied"
AND "UEMI"."id_Kinder" = "Kinder"."ID_Kinder"
AND "Kinder"."Kündigung" IS NULL
Das eigentliche Problem ist nun, dass der Betrag für das 1. Kind einer Familie (eines Mitglieds) 60€ beträgt.
Für das 2. Kind einer Familie sind 45€ fällig.
Ein (eventuelles) 3. Kind ist frei (0€)
Wie müsste hier die Abfrage lauten? Ich habe bisher dazu noch nichts gefunden, gehe von irgendeiner GROUP BY Clausel aus, mit der ich aber noch nicht wirklich klarkomme. Na, und wie ich das 1. bzw. 2. (3.) Element separat anspreche, weiss ich schon gleich gar nicht.
Danke schon mal für Eure Hilfe
Marco