Mit UNION kann man normalerweise nur zwei Tabellen mit gleicher Form vereinigen. Gleiche Form meint in diesem Fall, dass die beiden Tabellen die gleiche Spaltenanzahl und -namen bzw. zumindest gleiche -typen haben. Mit einem kleinen Trick ist es trotzdem möglich zwei Tabellen zu vereinigen, die ungleiche Spaltenanzahl haben. Hierzu fügt man eine NULL-Spalte mit
NULL AS fehlende_spalte
zur Tabelle hinzu.
Hier ein kleines Beispiel:
Tabelle t1
a | kosten
——————-
haus | 30
land | 80
wald | 20
Tabelle t2
a | b | kosten
———————–
haus|raum | 10
haus|flur | 5
wald|baum| 3
Um die beiden Tabellen zu vereinigen genügt folgender SQL-Befehl:
SELECT a, NULL AS b, kosten FROM t1 UNION SELECT a,b,kosten FROM t2