Mailinglisten-Archive |
Hi.
Ich hab mal wieder ein Problem, bei dem ich eure Denkanstöße brauche:
Ich habe in meiner Vereinsverwaltung zwei Tabellen:
1. mitgl (Eltern)
MID
Name
Adr
...
2. kind (deren Kinder)
KID
MID
VName
Klasse
...
die zweite ist mit der ersten über die Mitgliedsnummer (MID) verknüpft.
Einige Mitglieder (Eltern) haben mehrere Kinder, daher auch in kind
mehrere Einträge in kind. Teilweise sind die Kinder nicht mehr an der
Schule und haben dann NULL im Feld "Klasse".
Ein paar Mitglieder (z.B. Lehrer) haben kein Kind an der Schule, daher
kein DS in kind.
Nun zum eigentlichen Problem:
Um die Mitglieder anzuschreiben und die Briefe über die Kinder zu
verteilen brauche ich zum einen die Mitglieds-Daten und zum anderen die
Namen der Kinder. Das mache ich über eine LEFT JOIN:
select mitgl.Name, mitgl.Adr, kind.Vname, kind.Klasse from mitgl left join
kind using (MID) where ...
Nun bekomme ich aber bei den Mitgliedern mit mehreren Kinder auch
ebensoviele Datensätze! Ich will aber nur einen, zweckmäßiger Weise die
mit den Kind in der höchsten Klasse. Dabei dürfen die Mitglieder ohne
Kinder aber nicht unter den Tisch fallen.
Ich hab schon einiges probiert, aber es will nix vernünftiges dabei
rauskommen :-(
Wie krieg ich das hin, möglichst mit nur einer Abfrage? Hat jemand eine
Idee?
Ciao, Rene
--
---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive