2 Tabellen aneinanderreihen



  • Hi,

    ich habe gerade keinen Ansatz wie ich mein Problem lösen könnte.
    Folgendes, ich habe 2 Tabellen:

    Tabelle 1:
    | spalte1 | 2012-04 | 2012-05 | spalte4 |
    +---------+---------+---------+---------+
    
    Tabelle 2:
    | spalte1 | 2012-04 | 2012-05 | 2012-06 | spalte4 |
    +---------+---------+---------+---------+---------+
    

    Nun möchte ich diese 2 Tabellen aneinanderreihen, und zwar so das auch alle Spaltennamen drin sind. Also kein JOIN, denke ich.

    Wäre super wenn mir da einer einen Tipp geben könnte. 🙂

    Gruß Gustl



  • In der Hoffung dein "aneinanderreihen" richtig gedeutet zu haben:

    SELECT spalte1, 2012-04, 2012-05, '', spalte4 FROM tabelle1 UNION
    SELECT spalte1, 2012-04, 2012-05, 2012-06, spalte4 FROM tabelle2
    

    Funktioniert natürlich nur, wenn die jeweiligen Spalten von t1 und t2 die gleichen Datentypen haben, sonst muss beim Select konvertiert werden.

    mfg
    xXx



  • Hallo, danke für den ANreiz, habe den gewünschten Inhalt bekommen. Aber leider werden mir die Spaltennamen, die in der tabelle 1 nicht vorhanden sind auch nicht angezeigt...

    Folgende Abfrage:

    SELECT t1.spalte1, t1.[2012-04], '', '', '', '', '', t1.spalte2 FROM tabelle1 as t1 UNION
    SELECT t2.spalte2, '', t2.[2012-07], t2.[2013-08], t2.[2014-08], t2.[2015-08], t2.[2016-08], t2.spalte2
    FROM tabelle2 AS t2
    

    2012-04 bekomme ich noch als spaltennamen, aber die anderen Jahres/Monatsangaben sind leider nicht vorhanden.

    Das Statement schicke ich bei einer Abfrage über MS SQL SERVER MANAGEMENT STUDIO EXPRESS auf einer SQL DB ab.

    Gruß
    Gustl



  • Du kannst die Spalten mit "as" genauso benennen wie die Tabellen:

    SELECT t1.spalte1 AS spalte1, t1.[2012-04] AS [2012-04], '' AS [2012-07] usw.
    

    Evtl. ist die Syntax nicht korrekt, das es "AS `2012-04`" oder ähnliches heißen muss. Mit MS-SQL kenn ich mich nicht so gut aus, ich verwende grundsätzlich "gültige" Spaltennamen 😉

    mfg
    xXx



  • Ja, habs auch schon bemerkt. Manchmal sieht man eben den Wald vor lauter Bäume nicht mehr.

    Dankeschön! 🙂


Anmelden zum Antworten