was bedeutet LEFT OUTER JOIN?

deinertsche

Erfahrenes Mitglied
Kann mir jemand erklären was es mit LEFT OUTER JOIN in den Mysql-Abfragen auf sich hat?!?! Was bedeutet das? Was kann man damit machen?Hab hier nen Quelltext wo das ständig drin vorkommt. :-(
 
hm also mit Left Outer Join erspart man sich viele Abfragen,
man vereint zwei tabellen abfragen in einer mysql_query, das heisst
du setzt den bestimmten (von dir) buchstaben vor die tabelle
zum beispiel so N.newsid und die andere tabelle comments z.b.
C.commentid und dann kannst du LEFT OUTER JOIN C comment ON
definieren bei welchen übereinstimmenden Feldern daten aus _beiden_
Tabellen geholt werden sollen...
 
HIER eine Seite, wo das recht einfach aber genau beschrieben ist (für jemanden, der der englischen Sprache mächtig ist)


Dunsti
 
Hab mir beide urls durchgelesen aber stehe scheinbar immernoch auf dem schlauch.
Kann mir jemand folgendes ins deutsche übersetzen:

$sql = "SELECT
cl.clientID as clientID,
u.display_name as clientname
FROM
clients cl
LEFT OUTER JOIN
user u
ON cl.id = u.id
ORDER BY
u.display_name";


Es kommt übrigens immer folgende Fehlermeldung:
MySQL-Error::
You have an error in your SQL syntax near '' at line 1
 
PHP:
$sql = "SELECT 
cl.clientID as clientID, 
u.display_name as clientname 
FROM 
clients cl 
LEFT OUTER JOIN 
user as u 
ON cl.id = u.id 
ORDER BY 
u.display_name";

^^ist ein schuss ins blaue, aber vielleicht ist´s ja richtig.
 
$sql = "SELECT
cl.clientID as clientID,
*(tabelle cl feld clientId ) = neuer name clientid
u.display_name as clientname
*(tabelle u feld display_name) = neuer name clientname
FROM
clients cl
* und hier ist ein fehler
* es fehlt ein as = clients as cl
* neuer name cl
LEFT OUTER JOIN
* verknüpfe mit
user u
* auch hier fehlt ein as
* = user as u
ON cl.id = u.id
*welche felder verknüpfen die beiden tabellen
ORDER BY
u.display_name";

* sotiere die ausgabe ...

..so jetzt ham wir es :)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück