[SQL] Multiple join auf selbe id

Dieses Thema im Forum "Webentwicklung" wurde erstellt von encud, 28. Juli 2011 .

Schlagworte:
  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
     
  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
     
  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.
     
  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.
     
  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ß
     
  6. 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.
     
  7. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.