Mailinglisten-Archive |
Dietmar Winhold schrieb: > Ich habe es im > MySQL Datenbankhandbuch von Guido Stepken gefunden. > > Mit Left Join gehts: > > $query = sprintf("select * from artikel > Left Join telefon on artikel.KundenNr = telefon.KundenNr > Left Join mail on artikel.KundenNr = mail.KundenNr"); > > Nochmal's vielen Dank > > Dietmar > > -----Ursprüngliche Nachricht----- > Von: php-admin_(at)_infosoc.uni-koeln.de > [mailto:php-admin_(at)_infosoc.uni-koeln.de]Im Auftrag von Dietmar Winhold > Gesendet: Mittwoch, 26. Januar 2000 18:09 > An: PHP Mailingliste UNI Köln (E-Mail) > Betreff: [php] Nochmal Select über mehrer Tabellen > > Erstmal vielen Dank an alle die mir geholfen haben, > was würde ich nur ohne die diese Liste machen? > > Die Abfrage über zwei Tabellen klappt jetzt, aber jetzt > gibts eine neue Frage: > > artikel: > ArtikelID > KundenID > ... > > telefon: > TelefonID > KundenID > TelNr > > Die Abfrage mit den beiden funktioniert so einwandfrei: > > $query = sprintf("select * from artikel, telefon > where artikel.KundenID = telefon.KundenID"); > > Dies geht deshalb, weil jeder Kunde eine Telefon Nummer > eingeben muß. > Jetzt kommt aber noch eine Tabelle für Email dazu. Die Email-Adresse > muß aber nicht zwingend eingegeben werden. (Kann z.B. sein, das es > noch jemanden gibt, der keine hat.) > > Jetzt möchte ich alle Artikel angezeigt bekommen, wo eine > Email-Adressen vorhanden ist aber auch die ohne: > > Mail: > MailID > KundenID > email > > Wenn ich die obige Abfrage einfach erweitere... > > $query = sprintf("select * from artikel, telefon, mail > where artikel.KundenID = telefon.KundenID and > artikel.KundenID = mail.KundenID"); > > ...dann funktioniert dies zwar, aber ich bekomme nur die Artikel > angezeigt wo auch eine Email Adresse beim Kunden eingegeben ist. Versuche mal: select a.ArtikelID, a.KundenID, t.TelefonID, t.TelNr, m.MailID, m.email from artikel as a, telefon as t, mail as m where a.KundenID = t.KundenID and ( a.KundenID = m.KundenID or a.KundenID != m.KundenID ) habs nur auf die schnelle geschrieben, aber müsste alle relevanten Daten ausgeben.( KundenID brauchst Du ja nur einmal, weil immer gleich ) Viel Spaß -- Steffen Sander - Softwareentwicklung CRS Computer Register Service GmbH - Ritterstr. 11 - 10969 Berlin eMail s.sander_(at)_crs.de -Tel: +49-30-614 60 01 - Fax: +49-30-614 85 81 http://www.crs.de - http://www.markthalle.de - http://www.stadtnetz.net
php::bar PHP Wiki - Listenarchive