#1 28. Juli 2011 Multiple join auf selbe id Hallo zusammen, ich habe 2 Tabellen welche ich zusammenfügen will. Die erste Tabelle enthält 2 Spalten mit verschiedenen ID's. Tabelle 2 hat eine ID und einen Namen. Nun möchte ich die Namen aus Tabelle 2 den ID's aus Tabelle 1 zuordnen und ausgeben lassen. Versucht hab ich es so: SELECT `tabelle2`.`name` AS `value1`, `tabelle2`.`name` AS `value2` FROM `tabelle1` LEFT JOIN `tabelle2` ON (`tabelle1`.`id1` = `tabelle2`.`id` AND `tabelle1`.`id2` = `tabelle2`.`id`) War aber wie zu erwarten nicht sehr erfolgreich. Habt ihr ne Idee, wie man das schreiben muss? LG encud + Multi-Zitat Zitieren
#2 28. Juli 2011 AW: Multiple join auf selbe id Hallo, ich bin ein wenig verwirrt: Über welche IDs sollen die beiden Tabelln zusammengeführt werden? Tabelle1.id -> Tabelle2.id2 UND Tabelle1.id2 -> Tabelle2.id1 ? Gruß Blackbird89 + Multi-Zitat Zitieren
#3 28. Juli 2011 AW: Multiple join auf selbe id Also in der Tabelle 2 gibt es nur eine ID und den Namen.: +---+ |t1| +---+ |id1| |id2| +---+ +----+ |t2| +----+ |id| |name| +----+ Aus der Tabelle 1 sollen also die ID's durch den jeweiligen Namen in Tabelle 2 ersetzt werden. + Multi-Zitat Zitieren
#4 28. Juli 2011 AW: Multiple join auf selbe id Servus, Code: t1 id1 id2 1 1 1 2 2 1 2 2 Code: t2 id name 1 heins 2 peter Code: SELECT t1.id1, t2_1.name as name1, t1.id2, t2_2.name as name2 FROM t1 LEFT OUTER JOIN t2 as t2_1 ON ( t2_1.id = t1.id1) LEFT OUTER JOIN t2 as t2_2 ON ( t2_2.id = t1.id2) Code: id1 name1 id2 name2 1 heins 1 heins 1 heins 2 peter 2 peter 1 heins 2 peter 2 peter Aber solltest vielleicht in Erwägung ziehen, t1 in anderer relation zu t2 zu setzen. Das wirkt ein bisschen unsauber. + Multi-Zitat Zitieren
#5 30. Juli 2011 AW: Multiple join auf selbe id Sehr cool, danke! wie stellst du dir das vor, die beiden in eine andere Relation zu setzen? Für mich macht es so Sinn, da ich die Tabellen auch noch unabhängig voneinander verwende. Aber wäre für Anregungen immer offen Gruß + Multi-Zitat Zitieren
#6 30. Juli 2011 AW: Multiple join auf selbe id Ich finde des keineswegs unsauber.. Ist ne stinknormale n:m Relation.. Kardinalität_(Datenbankmodellierung)#n:m Und da du ja die Daten von t2 Variabel halten willst, kannst du das meines Erachtens nach nicht anders bauen.. MfG + Multi-Zitat Zitieren
#7 31. Juli 2011 AW: Multiple join auf selbe id Auf den ersten Blick tut es das für mich eben. Da ich den genauen Nutzen nicht weiß (u.a. auch nicht, ob das bei t1 wirklich alle Felder darin sind oder die zwei Felder je ein Teilschlüssel sind), kann ich da auch nichts besseres vorschlagen. @°EraZoR°, natürlich ist es augenscheinlich eine normale n:m, aber das spielt doch hier keine Rolle. Eine n:m kann genauso falsch sein, wenn sie falsch genutzt wird, auch wenn es eine normale Beziehung ist - obwohl ich das in dem Fall nun nicht behaupten mag. + Multi-Zitat Zitieren