Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Union Join

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von Tom Weber, 28 Juli 2020 um 15:59 Uhr.

  1. Tom Weber

    Tom Weber Benutzer

    Hallo zusammen,

    ich möchte mit einem UNION JOIN aus Tabelle 1 und Tabelle 2 zusammen Tabelle 3 erzeugen:

    Tabelle 1:
    ID| Zahl_1| Zahl_2 | Zahl_3
    --------------
    1 | 2 | 3 | .
    2 | 3 | 4 | .
    3 | 4 | 5 | .

    Tabelle 2:
    ID| Zahl_1| Zahl_2 | Zahl_3
    --------------
    1 | . | . | 6
    2 | . | . | 7

    Tabelle 3:
    ID| Zahl_1| Zahl_2 | Zahl_3
    --------------
    1 | 2 | 3 | 6
    2 | 3 | 4 | 7
    3 | 4 | 5 | .

    Also zum einen soll die Zahl_3 über die ID an die Tabelle_1 rangespielt werden, weiter soll aber auch der dritte Datensatz aus Tabelle_1 mitgenommen werden.
    Mit einem LEFT JOIN über die ID wird der letzte Datensatz nicht mitgenommen.
    Ich denke es kann über einen UNION JOIN funktionieren, aber bekomme es leider nicht hin.

    Kann mir jemand helfen? Danke!
     
  2. dabadepdu

    dabadepdu Fleissiger Benutzer

    Ich würde sagen, das ist ein full outer join.
    Weil Du leider mySQL hast und das bei mySQL nicht geht, brauchst Du einen Workaround für full outer join bei mySQL.
     
  3. akretschmer

    akretschmer Datenbank-Guru

    Nabnd.

    Code:
    test=*# select * from t1;
     id | z1 | z2 | z3
    ----+----+----+----
      1 |  2 |  3 |   
      2 |  3 |  4 |   
      3 |  4 |  5 |   
    (3 rows)
    
    test=*# select * from t2;
     id | z1 | z2 | z3
    ----+----+----+----
      1 |    |    |  6
      2 |    |    |  7
    (2 rows)
    
    test=*# select t1.id, t1.z1, t1.z2, t2.z3 from t1 left join t2 on t1.id=t2.id;
     id | z1 | z2 | z3
    ----+----+----+----
      1 |  2 |  3 |  6
      2 |  3 |  4 |  7
      3 |  4 |  5 |   
    (3 rows)
    
     
  4. dabadepdu

    dabadepdu Fleissiger Benutzer

    Anhand des Beispiels reicht ein Left Join, aber wer weiß schon, wo welche Daten vorhanden sind und wo sie fehlen.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden