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