Mailinglisten-Archive |
Re(h), >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! Sowas geht nur über ein Script, das die Tabellen getrennt durchforstet. Damit meine ich, dass in der Elterntabelle zuerst abgegriffen wird und dann in einer zweiten Schleife für die zugehörigen Kinder. Deins ist das typische Problem bei Datenbanken. Bei solchen Abfragen wird ein sogenanntes Kartesisches Produkt gebildet, d. h. die Tabellen, aus denen die Ergebnisse gebildet werden, werden multipliziert. Dies ist nicht nur bei mysql so, sondern auch Oracle, SQL-Server, Access, ... Gruss Ruprecht ----------------------------------------------------------- INTERNOLIX Standards for eBusiness ------------------------------------------------------------ INTERNOLIX AG Ruprecht Helms System-Engineer http://www.internolix.com mail:helms_(at)_internolix.com Weiherstr. 20 Tel: +49-[0]7533-9945-71 78465 Konstanz Fax: +49-[0]7533-9945-79 --- *** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive