Union Join

Tom Weber

Benutzer
Beiträge
9
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!
 
Werbung:
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.
 
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)
 
Werbung:
Anhand des Beispiels reicht ein Left Join, aber wer weiß schon, wo welche Daten vorhanden sind und wo sie fehlen.
 
Zurück
Oben