INSERT INTO @table(a,b,c,d)
SELECT a,b,c,d
FROM table1
UNION
SELECT a,b,c,d
FROM table2
Du behøver ikke bruge værdisætningen, når du indsætter data ved hjælp af SELECT-sætning. Derfor har jeg fjernet VALUES
bit fra det og bare lave en UNION af rækker, der returneres fra begge SELECT-forespørgsler.
SQL-serveren understøtter syntaksen for INSERT-sætning som
INSERT INTO Table_Name(Col1, COl2. Col3...)
SELECT Col1, COl2. Col3...
FROM Other_Table_Name
Dette vil indsætte det resultatsæt, der returneres af select-sætningen, i måltabellen. I dit tilfælde er resultatet en UNION af to valg, derfor er det ikke anderledes end et enkelt valg.