У меня есть оператор обновления, в котором я хотел бы перенести значение из одной таблицы в другую таблицу с тем же PK. По сути, я хочу ввести значение AWARD
из таблицы AWARD
и заполнить его в таблице TEST
в столбце AWARD
только там, где TYPE = 'CON'
. Нужно сделать то же самое со столбцом Дата.
Таблица Award
может иметь несколько строк, поэтому сумма должна быть суммирована. Я использую Oracle SQL Developer. Любая помощь приветствуется!
UPDATE TEST A
SET A.AWARD = (SELECT SUM(B.AWARD)
FROM AWARD B
WHERE B.ID = A.ID GROUP BY B.ID)
WHERE TRIM(A.TYPE) = 'CON';
Текущий TEST
данные таблицы:
ID TYPE AMOUNT AWARD DATE
---------------------------------------------------------
7186 INSPECT $942,164.81
7186 CMP $1,392,528.28
7186 CON $92,464,162.51
Award
таблица
ID AWARD DATE
-----------------------------------
7186 $83,157,895.00 6/25/2007
Ожидаемый результат:
ID TYPE AMOUNT AWARD DATE
--------------------------------------------------------------------
7186 INSPECT $942,164.81
7186 CMP $1,392,528.28
7186 CON $92,464,162.51 $83,157,895.00 6/25/2007