![]() Mailinglisten-Archive |
ist es denn sinnvoll, eine Bedingung auf einer Spalte einer optionalen Tabelle zu setzen? Bsp: Tabelle1 - ID - SpalteTab1 Tabelle2 - ID - Tab1ID - SpalteTab2 hole alle aus Tabelle1 und nur passende aus Tabelle2: SELECT SpalteTab1, SpalteTab2 FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.ID = Tabelle2.Tab1ID WHERE SpalteTab2 = 'irgendwas'; jetzt kommen alle Eintr�ge aus Tabelle 1 und wenn es gleiche IDs in Tabelle2 gibt, die der Bedingung gen�gen, kommen die auch. Falls die Bedingung SpalteTab2 aber nicht erf�llt ist, kommt nur die Zeile aus Tabelle1 und es sieht so aus, da� es keinen Eintrag in Tabelle2 gibt. Also: SELECT SpalteTab1, SpalteTab2 FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.ID = Tabelle2.Tab1ID WHERE Tabelle2.Tab1ID IS NULL; w�rde alle Zeilen aus Tabelle1 lesen und nie etwas aus Tabelle2 bringen. Das Problem von Andreas K�ster l��t sich nur mit Subselect and ID not in (select ID from ...) l�sen oder da es keine Subselect in mySQL gibt mit temp Tables. Oder liege ich ganz falsch Martin? Gru� Stefan -----Original Message----- From: Martin Ramsch <m.ramsch_(at)_computer.org> To: Deutsche MySQL-Mailingliste <mysql-de_(at)_lists.4t2.com> Date: Monday, September 27, 1999 9:57 PM Subject: Re: Datenintegritaet bewahren .. aber wie ? Das geht sch�n mit einem LEFT JOIN und dem Test auf NULL-Werte: SELECT tab2.id FROM tab2 LEFT JOIN tab1 USING (id) WHERE tab1.id IS NULL; Wenn es zu einer id aus tab2 keine id in tab1 gibt, dann erzeugt der LEFT JOIN f�r tab1 NULL-Werte - und danach kann man testen. Ciao, Martin --- *** Abmelden von dieser Mailingliste funktioniert per E-Mail *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive