INSERT INTO @table(a,b,c,d)
SELECT a,b,c,d
FROM table1
UNION
SELECT a,b,c,d
FROM table2
Sie müssen die Values-Klausel nicht verwenden, wenn Sie Daten mit der SELECT-Anweisung einfügen. Daher habe ich die VALUES
entfernt Bit davon und mache einfach eine UNION von Zeilen, die von beiden SELECT-Abfragen zurückgegeben werden.
Sql-Server unterstützt die Syntax für INSERT-Anweisungen wie
INSERT INTO Table_Name(Col1, COl2. Col3...)
SELECT Col1, COl2. Col3...
FROM Other_Table_Name
Dadurch wird die von der select-Anweisung zurückgegebene Ergebnismenge in die Zieltabelle eingefügt. In Ihrem Fall ist das Ergebnis eine UNION von zwei Auswahlen, daher unterscheidet es sich nicht von einer einzelnen Auswahl.