Mailinglisten-Archive |
Rico Koerner schrieb: > Sebastian Mendel schrieb: >> Rico Koerner schrieb: >>> Selektierende Parameter sollten nicht im JOIN sondern bei WHERE stehen, also >> Wer sagt das? Und vor allem wieso? >> (Ich kenne diese Aussage, halte sie aber für unbegründet und einen Mythos) > > Das sagt die MySQL-Dokumentation, ich weiß, aber das ist doch kein Grund ... ;-) ... was alles in irgendwelchen Büchern steht ... > das wieso solltest du dann wohl an die Entwickler stellen. ;-) > Ich kann mir dafür mehrere Gründe vorstellen: > - bessere Übersichlichkeit (damit aber nicht wirklich relevant) nö, ich will nur die betimmtn Zeilen von der Tabelle, steht also in direktem Zusammenhang > - Performanceunterschiede in der Ausführung (noch nicht evaluiert) dieser Punkt spricht eher dafür, aber auch nicht getested > - wichtig für den Parser? > - einfach nur wegen dem SQL-Standard? > - Joins sind für die Verknüpfung von Tabellen zuständig. eben, und hier sage ich welche Zeilen verknüpft werden sollen, nämlich nur betimmte >>> WHERE et.tag IS NULL OR ... >>> >>> vor allem auch OR, nicht AND denn es soll ja auch Datensätze liefern in >>> denen et.tag NOT NULL ist dafür aber et.description != 'Ehename' >> nein nein, du willst alle außer die mit dem event Ehename > > Doch, das OR ist schon richtig, er will alle ohne Event (et.tag IS NULL) > und alle mit ((et.tag NOT NULL) AND (et.description != 'Ehename')) > > Die Bedingung lautete nicht et.tag = 'EVEN', da gabs auch noch ein > 'OCCU' als möglichen Wert. Wieviel gibts da wohl noch? doch, ist richtig! ;-) also hole ich ALLE Personen und ordne denen das EVENT 'Ehename' zu wenn sie das haben, anonsten NULL, und am Ende filtere ich alle aus die nicht NULL haben (HAVING) -- Sebastian Mendel www.sebastianmendel.de _______________________________________________ Allgemeine Infos zur Liste: http://www.4t2.com/mysql/ Verwaltung: https://lists.4t2.com/cgi-bin/mailman/listinfo/mysql-de
php::bar PHP Wiki - Listenarchive