UNION auf zwei unterschiedliche Tabellen

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
This entry was posted in SQL and tagged . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Security Code: