[SQL] Multiple join auf selbe id

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

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #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. Anzeige
    Dealz: stark reduzierte Angebote finden.
  3. #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
     
  4. #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.
     
  5. #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.
     
  6. #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ß
     
  7. #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
     
  8. #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.
     

  9. Videos zum Thema
Die Seite wird geladen...
Similar Threads - SQL Multiple join
  1. Antworten:
    0
    Aufrufe:
    2.107
  2. Antworten:
    3
    Aufrufe:
    2.165
  3. Antworten:
    3
    Aufrufe:
    5.479
  4. Antworten:
    3
    Aufrufe:
    777
  5. Antworten:
    0
    Aufrufe:
    500
  • Annonce

  • Annonce