2016-09-29 5 views
4

von dem, was ich verstehe "jede SELECT-Anweisung innerhalb der UNION muss die gleiche Anzahl von Spalten haben. Die Spalten müssen auch ähnliche Datentypen haben. Auch die Spalten in jeder SELECT-Anweisung müssen in der gleichen Reihenfolge sein." Nun, was ist, wenn der erste SELECT mehr Spalten hat, als der zweite erzeugen kann. Hier ist, was ich meine: Lassen Sie uns sagen, dass ich zuWie erstellt man "leere Spalten" für UNION?

wollen
SELECT "City", "Country", "Continent" from table1 
UNION 
SELECT "City", "Country" from table2  

... sagen wir mal Tabelle 2 keine Spalte enthält als „Kontinent“, aber für meine Bedürfnisse ist es für die Datensätze in Ordnung, die von table2 kommen zu einem Rohling haben oder NULL in dieser Spalte. Ich verwende dashDB.

Antwort

8

Sie können immer "virtuelle" Spalten hinzufügen:

SELECT "City", "Country", "Continent" from table1 
UNION 
SELECT "City", "Country", NULL AS "Continent" from table2 
+0

jawohl, mein Herr! DAS ist was ich gesucht habe! DANKE @Tim Schmelter –

+0

bedauerlicherweise, dass dies nicht implizit verstanden werden kann – MichaelChirico

2


Hallo,
Sie,

SELECT "City", "Country", "Continent" from table1 
UNION 
SELECT "City", "Country", ' ' as "Continent" from table2 

oder

verwenden können
SELECT "City", "Country", "Continent" from table1 
    UNION 
    SELECT 

"City", "Country", NULL as "Continent" from table2 

It "Kontinent" als null betrachtet in Tabelle2

Verwandte Themen