Teiger: mySQL SELECT

Beitrag lesen

Hallo,

der outer join ist für abfragen gedacht, die genau das problem lösen können, das du hast, sprich zeige mir die daten der einen tabelle immer an und wenn vorhanden auch die daten der zweiten tabellen. das ist im groben die aufgaben voun outer joins.

Habe mir gerade die mysql Doku durchgelesen und verstanden wozu die Outer join da sind.
Aber wie die Funktionieren verstehe ich immer noch nicht.
Habe folgeneds Beispiel gefunden und versucht es zu verstehen.

Nachtragsbeispiel mit 3 Tabellen:
http://php-resource.de/forum/showthread.php?s=&threadid=28292

Der Autor schreibt dazu:
"bei noch mehr tabellen geht's analog

mann sollte sich nur überlegen, welche tabelle man wo hinschreibt, hier steht tabelle1 in der mitte, da ich sie zweimal brauche
hätte ich mittabelle1 angefangen, hätte ich sie zweimal verwenden müssen, was ja nicht unbedingt sein muss"

Was ist aber in meinem Beispiel. Dort benutze ich 5 Tabellen.
2 Davon dienen aber nur dazu Daten einer Tabelle der anderen zuzuordnen.

Es gibt bei mir folgende Tabellen:

Tabelle 1:events
-----------------------------
id|headline|txt

Tabelle 2:lnk_event_conductor
------------------------------
id_event|id_conductor

Tabelle3: lnk_event_pic
------------------------------
id_event|id_pic

Tabelle 4: contacts
-------------------------------
id|company|name|email

Tabelle 5: pictures_events
-------------------------------
id|picture|description

Bemerkung: Es sind immer leute bei den Events aber eben icht immer Bilder vorhanden.

Könntest Du mir freundlicherweise die Lösung geben,so dass ich diese studieren kann? Das würde echt helfen.

Hier noch mal das Statement:

SELECT * events AS e,
         lnk_event_conductor AS lec,
         contacts AS c,
         lnk_event_pic AS lep,
         pictures_events AS pe
   FROM (e.lang = '".$this->language."')
    AND (e.id = '".$id."')
    AND (e.id = lec.id_event)
    AND (lec.id_event = c.id)
    AND (e.id = lep.id_event) AND (lep.id_event = pe.id);

1000fach Dank.

Gruß Teiger