mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 16:48 Benutzername: Passwort: Auto-Login

Thema: JOIN LEFT vom 18.07.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> JOIN LEFT
Autor Nachricht
ENIXone
Threadersteller

Dabei seit: 25.02.2007
Ort: Sundern
Alter: 37
Geschlecht: Männlich
Verfasst Fr 18.07.2008 16:07
Titel

JOIN LEFT

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht: Männlich
Verfasst Fr 18.07.2008 16:43
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
ENIXone
Threadersteller

Dabei seit: 25.02.2007
Ort: Sundern
Alter: 37
Geschlecht: Männlich
Verfasst Fr 18.07.2008 16:56
Titel

Antworten mit Zitat Zum Seitenanfang

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. *Schnief* Au weia!


Zuletzt bearbeitet von ENIXone am Fr 18.07.2008 17:02, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
ENIXone
Threadersteller

Dabei seit: 25.02.2007
Ort: Sundern
Alter: 37
Geschlecht: Männlich
Verfasst Fr 18.07.2008 17:25
Titel

Antworten mit Zitat Zum Seitenanfang

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?
  View user's profile Private Nachricht senden
 
Ä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]
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.