假设我有一个包含以下数据的表(Table1)。
VALUE_ID VALUE CODE HOUR TYPE
1 null DEF 1 REG
2 null DEF 2 REG
3 null DEF 3 REG
假设我有一个物化视图(MV1)(连接几个不同的表),如下所示:
VALUE_ID VALUE CODE HOUR TYPE CALC_VALUE DEFAULT_VALUE
1 null DEF 1 REG 8 2
2 null DEF 2 REG 12 1
3 null DEF 3 REG 25 0
我想编写一个脚本来更新表1 ,并将VALUE设置为 CALC_VALUE 列或 DEFAULT_VALUE 列中的值来自 MV1 。以下是我的尝试:
Update Table1
SET value = (select calc_value from MV1)
WHERE TYPE = 'REG'
AND HOUR = 2;
COMMIT;
任何帮助将不胜感激。预先感谢!
答案 0 :(得分:1)
我认为您只想要一个相关的子查询:
UPDATE Table1
SET value = (select calc_value from MV1 where table1.value_id = mv1.value_id)
WHERE TYPE = 'REG' AND HOUR = 2;
COMMIT;