Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Mit Union in Tabellenvariable einfügen

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.