INSERT INTO @table(a,b,c,d)
SELECT a,b,c,d
FROM table1
UNION
SELECT a,b,c,d
FROM table2
Не е необходимо да използвате клаузата Values, когато вмъквате данни с помощта на оператор SELECT. Затова премахнах VALUES
малко от него и просто прави UNION на редове, върнати от двете SELECT заявки.
Sql сървърът поддържа синтаксис за оператор INSERT като
INSERT INTO Table_Name(Col1, COl2. Col3...)
SELECT Col1, COl2. Col3...
FROM Other_Table_Name
Това ще вмъкне този набор от резултати, върнат от оператора select, в целевата таблица. Във вашия случай Резултатът е ОБЕДИНЕНИЕ на две селекции, следователно не е по-различно от единичен избор.