phpbar.de logo

Mailinglisten-Archive

Re: Doppelte DS ausklammern
Archiv Mailingliste mysql-de

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Doppelte DS ausklammern



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 


Home | Main Index | Thread Index

php::bar PHP Wiki   -   Listenarchive