Autor |
Nachricht |
ENIXone
Threadersteller
Dabei seit: 25.02.2007
Ort: Sundern
Alter: 37
Geschlecht:
|
Verfasst Fr 18.07.2008 16:07
Titel JOIN LEFT |
|
|
Hey Ho,
kann mir evtl einer anhand meines Beispiels zeigen wie dieses Left Join richtig funktioniert?
Hab keine Seite gefunden die es leicht verständlich zeigt.
Ich habe 3 Tabellen:
In Tabelle 1 : Projekte
projekte.projektID
projekte.costumerID
Tabelle 2: Aufgaben
aufgaben.taskID
aufgaben.projektID
Tabelle 3: Kunden
kunden.costumerID
kunden.firma
Ich habe in meiner ausgabe lediglich die TaskID zur Verfügung. Möchte es mir aber nicht unnötig schwer machen den Firmennamen auszugeben und deswegen ein LEFT JOIN verwenden..
ich muss quasi von
Code: | aufgaben.projektID -> projekte.ProjektID
von dort auf
projekte.costumerID -> kunden.costumerID
und von da aus
kunden.firma
|
habe nur nicht richtig verstanden wie das prinzip vom LEFT JOIN verstanden, bzw weiß garnicht welche datenbank ich nun abfragen muss beim "SELECT was hier FROM und hier"?
wäre sehr hilfreich wenn mir das einer anhand meines vorgehens zeigen könnte, damit ich dann sehen kann was sich wo und wie verbindet
|
|
|
|
|
pRiMUS
Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht:
|
Verfasst Fr 18.07.2008 16:43
Titel
|
|
|
Code: |
select kunde.*, projekte.*, tasks.*
from kunde
LEFT JOIN projekte ON kunde.costumerID = projekte.costumerID
LEFT JOIN tasks ON projekte.projektID = tasks.projektID
where tasks.taskID = 1
|
ungetestet.
Zuletzt bearbeitet von pRiMUS am Fr 18.07.2008 16:44, insgesamt 1-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
ENIXone
Threadersteller
Dabei seit: 25.02.2007
Ort: Sundern
Alter: 37
Geschlecht:
|
Verfasst Fr 18.07.2008 16:56
Titel
|
|
|
pRiMUS hat geschrieben: | Code: |
select kunde.*, projekte.*, tasks.*
from kunde
LEFT JOIN projekte ON kunde.costumerID = projekte.costumerID
LEFT JOIN tasks ON projekte.projektID = tasks.projektID
where tasks.taskID = 1
|
ungetestet. |
also das ganze sieht bei mir jetzt so aus:
Code: |
$test = mysql_query("
SELECT eye_costumers.*, eye_projekt.*, eye_projekt_task.* FROM eye_costumers
LEFT JOIN eye_projekt ON eye_costumer.ID = eye_projekt.costumer
LEFT JOIN eye_projekt_task ON eye_projekt.pID = eye_projekt_task.projekt WHERE eye_projekt_task.tID = '$tID'");
$output = mysql_fetch_object($test);
echo $output->firma; |
bekomme aber ne fehlermeldung:
Zitat: | Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/sektor8/public_html/pms/modules/projekt/task_detail.php on line 261 |
um es mal gescheit zu formatieren hab ich oben die einfachen tabellen namen genommen aber die die ich benutze sind:
Code: |
eye_projekt.pID
eye_projekt.costumer
eye_projekt_task.tID
eye_projekt_task.projekt
eye_costumers.ID
eye_costumers.firma
Bei eye_projekt_task.tID soll eye_projekt_task.projekt genommen werden. eye_projekt_task.projekt = eye_projekt.pID. eye_projekt.pID soll eye_projekt.costumer nehmen. eye_projekt.costumer = eye_costumers.ID. Zulätzt -> eye_costumers.ID soll eye_costumers.firma nehmen und ausgeben
|
ich weiß issn bissel kompliziert.
Zuletzt bearbeitet von ENIXone am Fr 18.07.2008 17:02, insgesamt 1-mal bearbeitet
|
|
|
|
|
ENIXone
Threadersteller
Dabei seit: 25.02.2007
Ort: Sundern
Alter: 37
Geschlecht:
|
Verfasst Fr 18.07.2008 17:25
Titel
|
|
|
Hey habs zwar jetzt gelöst mit: Code: |
SELECT * FROM eye_projekt, eye_projekt_task, eye_costumers
WHERE eye_projekt_task.projekt = eye_projekt.pID
AND eye_projekt.costumer = eye_costumers.ID
AND eye_projekt_task.tID = '$tID' "
|
würde jedoch trotzdem gern wissen wies mit nem left Join gegangen wäre...
was eig. der Unterschied zwischen der Methode oben und einem LEFT bzw. RIGHT JOIN?
|
|
|
|
|
|
|
|
Ähnliche Themen |
LEFT JOIN ?
MySQL: Left JOIN Problem
[SQL] LEFT JOIN + UPDATE Problem
SQL Abfrage mit LEFT JOIN bleibt hängen
[SQL] Problem mit Join Abfrage
Probleme mit inner join... [solved]
|
|