phpbar.de logo

Mailinglisten-Archive

?? Hilfe zum Verstaendis von LEFT JOIN

?? Hilfe zum Verstaendis von LEFT JOIN

Hans-Joachim Grüßner hanjo.gruessner at t-online.de
Die Jul 15 16:45:59 CEST 2003



Wolfgang Hauck schrieb:

> 
> Soweit ist hoffentlich alles klar..??

Moin auch,

ja, durchaus.

> 
> Jetzt gibts da noch Datensätze, dessen id_nr zwar in LinkExcl 
> drinstehen, nicht aber in LinkList. Diese werden bei diesem LEFT JOIN 
> !!! nicht !!! angezeigt. Sowas wird auch referenzielle 
> Integritätsverletzung genannt.

Ne, so ist es nicht. Umgekehrt: es gibt datensätze die LinkList stehen, 
aber nicht in LinkExcl. Aber vielleicht hattest Du das ja gemeint.

> 
> Warum??
> 
> Eine Beziehung sollte nur in einer Richtung erfolgen d.h.
> 
> Haupttabelle -> Untertabelle 1:1 oder 1:n
> 
> Jetzt kommen wir mal zu deinem where:

> 
> wichtig in diesem Zusammenhang ist:
> 
> (NOT LinkExcl.Bereich = "LB-Sued"
> || LinkExcl.Bereich IS NULL )
> 
> Was machst du da????

> 
> Deshalb ist es völlig Wurscht oder Käse was du in LinkExcl.Bereich 
> reinschreibst...

OK, das hab ich nun kapiert-

Aaaber...

> 
> Tja...
> 
> Ändere mal das ganze so:
> 
> ((NOT LinkExcl.Bereich = "LB-Sued") OR LinkExcl.Bereich IS NULL )

Das ändert garnicht daran. Selbes Verhalten.

So sieht das Stetemt jetzt im Ganzen aus: (mit MySQL-Front ausprobiert)

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") OR 
LinkExcl.Bereich IS NULL ) order by Kategorie, Eingegeben desc

Und wieder:

ob ich schreibe:
((NOT LinkExcl.Bereich = "LB-Sued") OR LinkExcl.Bereich IS NULL )
oder
((NOT LinkExcl.Bereich = "Lichtbote") OR LinkExcl.Bereich IS NULL )
oder
((NOT LinkExcl.Bereich = "Bundeskanzler") OR LinkExcl.Bereich IS NULL )

bleibt sich gleich. Es werden dieselben (im Beispiel 2 zuwenig) 
Datensätze rausgeworfen.

Wat nu, sprach Zeus, die Götter sind besoffen....

Gruß von der Ostsee

Hanjo

> 
> Da kann der Join aber nix dafür ;-)
> 
> MfG Wolfgang
> 
> 
> 


-- 
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