Ваша временная таблица состоит из трех столбцов - но у вашей SELECT
для вставки есть намного больше ....
Вам нужно разбить это на несколько INSERTs
:
INSERT #tableN (ID,NAME,Value)
SELECT 1 , 'subject', SUM(subject)
FROM taleParker
INSERT #tableN (ID,NAME,Value)
SELECT 2, 'age', SUM(age)
FROM taleParker
INSERT #tableN (ID,NAME,Value)
SELECT 3, 'sex', SUM(sex)
FROM taleParker
INSERT #tableN (ID,NAME,Value)
SELECT 4, 'test_time', SUM(test_time)
FROM taleParker
Обновление: в SQL Server 2008 вы можете иметь:
INSERT #tableN (ID,NAME,Value)
VALUES(1, 'subject', 1), (2, 'age', 42), (3, 'sex', 'M') .....
, но тогда вам придется использовать фиксированные значения - не SELECT
выражения
Обновление №2: , если вы хотите использовать значение SUM(...)
, вам нужно сначала получить их в переменные:
DECLARE @SumSubj INT, @SumAge INT, @SumSex INT, @SumTest INT
SELECT @SumSubj = SUM(subject), @SumAge = SUM(age),
@SumSex = SUM(sex), @SumTest = SUM(test_time)
FROM taleParker
INSERT #tableN (ID,NAME,Value)
VALUES(1, 'subject', @SumSubj), (2, 'age', @SumAge), (3, 'sex', @SumSex) .....