#1 27. September 2009 Mehrere Joins derselben Tabelle Hi, folgende Situation: Eine Tabelle referenziert über Foreign Keys in zwei Spalten eine andere Tabelle. Nun will ich alle Informationen des referenzierenden UND alle Informationen BEIDER Datensätze aus der zweiten Tabelle auslesen. Mein Ansatz: Code: SELECT `t1`.*, `t2`.* FROM `t1`, `t2` WHERE `t1`.`id` = x AND (`t1`.`f1` = `t2`.`id` OR `t1`.`f2` = `t2`.`id`) funktioniert natürlich nicht weil ich dann die einen Daten von den anderen Daten der gleichen Tabelle wieder überschrieben werden. Gibt es da eine Möglichkeit? Grüße + Multi-Zitat Zitieren
#2 27. September 2009 AW: Mehrere Joins derselben Tabelle Renamen mit: SELECT t1.name as t1name dann kannst mit t1name drauf zugreifen + Multi-Zitat Zitieren
#3 27. September 2009 AW: Mehrere Joins derselben Tabelle Das funktioniert ja nicht, weil ich ja zwei Datensätze aus der gleichen Tabelle haben will. das wäre dann Code: SELECT t1.name as t1name, t1.name as t1name2.... + Multi-Zitat Zitieren
#4 27. September 2009 AW: Mehrere Joins derselben Tabelle wenn du zwei datensätze haben willst, müsste es dann nicht SELECT `t1`.*, `t2`.* FROM `t1`, `t2` WHERE `t1`.`id` = x AND (`t1`.`f1` = `t2`.`id` OR `t1`.`f2` = `t2`.`id`) statt dem AND ein OR sein? (weiß grad nich was du mit deiner bedingung in der klammer bezweckst, aber falls Datensatz 1 t1.id = x ist und der zweite das in der klammer würd ich ein OR bevorzugen.) + Multi-Zitat Zitieren
#5 28. September 2009 AW: Mehrere Joins derselben Tabelle Versuchs einfach mal mit nem left outer join . select t1.*, t2.* from t1 left outer join t2 on t2.id = t1.f1 where t1.id = x Ich weiß es grad so nicht genau ausm kopf, ob man beim left outer join noch ein or einbinden kann....google einfach mal nach "sql join" dann schau dir die möglichkeiten mit "inner join und left outer join" etc. an + Multi-Zitat Zitieren
#6 28. September 2009 AW: Mehrere Joins derselben Tabelle probier mal das rename auf die tabelle: SELECT * FROM tabelle1 t1, tabelle2 t2, tabelle2 t3 WHERE ... dadurch kannst du 2 mal auf die tabelle zugreifen, evtl. hilft dieser ansatz. ich muss zugeben ich verstehe das problem noch nicht richtig. evtl hilft ein kleines beispiel mit beispiel datensätzen. gruß + Multi-Zitat Zitieren
#7 30. September 2009 AW: Mehrere Joins derselben Tabelle n benutzer kann 2 verschiedene autos fahren -> name, auto_id1, auto_id2 in der tabelle auto gibt's fahrzeuge -> id, bezeichnung abfrage würde ich dann so machen: Code: select n.name, a1.bezeichnung as auto1_bezeichnung, a2.bezeichnung as auto2_bezeichnung from nutzer as n left join auto as a1 on n.auto_id1=a1.id left join auto as a2 on n.auto_id2=a2.id + Multi-Zitat Zitieren