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 inte använda värdesatsen när du infogar data med SELECT-satsen. Därför har jag tagit bort VALUES
bit från det och helt enkelt göra en UNION av rader som returneras från båda SELECT-frågorna.
SQL-servern stöder syntaxen för INSERT-satsen som
INSERT INTO Table_Name(Col1, COl2. Col3...)
SELECT Col1, COl2. Col3...
FROM Other_Table_Name
Detta kommer att infoga den resultatuppsättning som returneras av select-satsen i måltabellen. I ditt fall är resultatet en UNION av två val och därför skiljer det sig inte från ett enda val.