2013-08-13 2 views
0

Я попытался вставить вычисляемое среднее значение из таблицы в другую таблицу, на которой написано sql, как показано ниже, но это не сработало. Может кто-нибудь, пожалуйста, помогите мне? как я могу написать его, как хранимую процедуру в Oracle, для обслуживания многих состояний, то есть CA, IL, GA, WI ....?SQL Вставить вычисляемое среднее значение из другой таблицы

INSERT INTO Employee(averageSalary, averageTax) 
    (SELECT AVG(Salary), AVG(Tax) 
    FROM HrDeptEmployee 
    WHERE State = 'NY') 
+1

Оставьте круглые скобки вокруг выбора, это не подзапрос. – FrankPl

+0

Вы должны опубликовать его как ответ @FrankPl – Bren

+0

@FrankPI У меня есть эта ошибка. 'Ошибка SQL: ORA-01400: не может вставить NULL в (« AbbotLTD ».« Сотрудник ».« Emp_ID »). Как я могу также вставить случайное значение, например, 1 в Emp_ID (его pk) одновременно? спасибо – DevEx

ответ

1

Оставьте круглые скобки вокруг выбора, это не подзапрос.

EDIT: Что касается второго вопроса в комментариях (ошибка: нулевое значение ID столбца таблицы назначения):

Добавить идентификатор для вставки в свой список выбора, как это (если вы хотите использовать id 1):

INSERT INTO Employee(ID, averageSalary, averageTax) 
SELECT 1, AVG(Salary), AVG(Tax) 
    FROM HrDeptEmployee 
WHERE State = 'NY' 
Смежные вопросы