SELECT über fünf Tabellen

megatom

Mitglied
Aloah !
Also ich benutze mysql 4.
Und habe folgendes Problem:
Ich habe eine Tabelle und 4 weitere davon abhängige Tabellen und möchte nun eine Abfrage die mir Daten aus allen 5 Tabellen liefern kann.
Also zB:
Code:
select t1.*, t2.*, t3.*, t4.*, t5.* WHERE (t1.id=t2.t1_id AND t2.status ='1') OR (t1.id=t3.t1_id AND t3.status ='1') OR (t1.id=t4.t1_id AND t4.status ='1') ...
bekomme aber leider immer :
Got error 28 from storage engine.
Also ich brauche auf jeden Fall Daten aus allen Tabellen gleichzeitig und Bezugstabelle ist t1.
Wie mache ich das ?
 
Soweit ich weiss unterstützt mysql 4 auch schon den Join Operator !!

ausserdem Fehlt dein Bezugspunkt dieser wird normalerweise im FROM angegeben

Versuch es mal so

SQL:
select t1.*, t2.*, t3.*, t4.*, t5.* 
From t1 Left Join On (t1.id=t2.t1_id AND t2.status ='1') 
left Join  t3 on (t1.id=t3.t1_id AND t3.status ='1') 
Left Join t4 on  (t1.id=t4.t1_id AND t4.status ='1') ...

Grüsse bb
 
Zuletzt bearbeitet von einem Moderator:
Aloah !
Vielen Dank erstmal !
Das FROM hatte ich weggelassen, da es nur unnötig Platz verschwendet ;)
Dafür hast du t2.* beim ersten JOIN vergessen ;)
Also zumindest kriege ich keine Fehlermeldung bei der Version, werde jetzt mal checken ob ich mit dem Ergebnis was anfangen kann.
Hmm ich merke gerade, dass er mir alle Einträge aus t1 auswirft, egal wie ich den Filter verändere :(
Also selbst wenn ich da Werte eintrage die garnicht existieren ...
 
Zuletzt bearbeitet:
richtig das liegt an dem LEFT JOIN wenn du nicht alle Werte aus t1 brauchst musst du auf INNER JOIN umstellen.

Grüsse bb
 

Neue Beiträge

Zurück