Mailinglisten-Archive |
Moin auch, wie genau wirkt eigentlich LEFT JOIN ? Wie kommt es, daß es 'Datensätze ausläßt' ? Und wie kann man das verhindern ? Hintergrund: Ich habe 2 Tabellen, in der ersten (LinkList) stehen - mit primary key 'id_nr' Links für mehrere Websites. In der 2. (LinkExcl) stehen - verknüpft mit id_nr - WebSite-Bereiche, bei denen der verknüfte Linnk ausgeschlossen sein soll. (Ich möchte Daten aus einer Tabelle für mehrere Website nutze, der einzelnen WebSite aber die möglichkeit der individuellen Gestaltung bieten.) Mit folgendem Statement erreiche ich es, daß für eine WebSeite (hier LB-Sued genannt) das richtige Ergebnis kommt: Select LinkList.Bereich, Kategorie, LinkTitel, LinkPfad, Eingegeben, LinkList.id_nr from LinkList Left Join LinkExcl ON LinkList.id_nr = LinkExcl.id_nr where (LinkList.Bereich = "Lichtbote" or LinkList.Bereich = "LB-Sued" or LinkList.Bereich = "ALL") and (NOT LinkExcl.Bereich = "LB-Sued" || LinkExcl.Bereich IS NULL ) order by Kategorie, Eingegeben desc Jetzt ändere ich das Statement für eine andere Website so ab: Select LinkList.Bereich, Kategorie, LinkTitel, LinkPfad, Eingegeben, LinkList.id_nr from LinkList Left Join LinkExcl ON LinkList.id_nr = LinkExcl.id_nr where (LinkList.Bereich = "Lichtbote" or LinkList.Bereich = "LB-Sued" or LinkList.Bereich = "ALL") and (NOT LinkExcl.Bereich = "Lichtbote" || LinkExcl.Bereich IS NULL ) order by Kategorie, Eingegeben desc also nur ..(NOT LinkExcl.Bereich = "Lichtbote".. geändert. Es kommen als Ergebnis die gleichen Datensätze raus wie beim ersten Statement. (Hinweis: in LinkExcl ist mindestgens ein Datensatz für 'Lichtbote' vorhanden). Nach etlichem Try and Error setze ich schließlich ..(NOT LinkExcl.Bereich = "Scheisse".. Resultat wie oben. Es scheint also, daß es MySQL egal ist, was da steht. Wie das? Und was muß ich tun, um mein gewünschtes Ergebnis zu erhalten, also alle Datensätze aus LinkList, die der Bedingung where (LinkList.Bereich = "Lichtbote" or LinkList.Bereich = "LB-Sued" or LinkList.Bereich = "ALL") gehorchen UND NICHT als Bereich in LinkExcl stehen. TIA Hanjo -- Software & Seminar-Kontor Hans-Joachim Grüßner Glasholz D-24369 Waabs Fon +49 4352 91 25 95 Fax +49 4352 91 25 97 e-mail mailto:hanjo at gruessner.de http://www.gruessner.de -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive