Sql 如何从';分期付款';符合标准的每一行的表?
假设我有一个表(表1),其中包含以下数据Sql 如何从';分期付款';符合标准的每一行的表?,sql,oracle,Sql,Oracle,假设我有一个表(表1),其中包含以下数据 VALUE_ID VALUE CODE HOUR TYPE 1 null DEF 1 REG 2 null DEF 2 REG 3 null DEF 3 REG 假设我有一个物化视图(MV1)(连接两个不同的表),如下所示: VALUE_ID VAL
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,并将值设置为计算值列中的值或MV1中的默认值列中的值。以下是我的尝试:
Update Table1
SET value = (select calc_value from MV1)
WHERE TYPE = 'REG'
AND HOUR = 2;
COMMIT;
任何帮助都将不胜感激。提前谢谢 我认为您只需要一个相关子查询:
UPDATE Table1
SET value = (select calc_value from MV1 where table1.value_id = mv1.value_id)
WHERE TYPE = 'REG' AND HOUR = 2;
COMMIT;
将该值设置为CALC_VALUE列中的值或基于什么的默认值?@forpas-假设我在VALUE中有一个类型为“REG”的条目。我想用MV1物化视图中CALC_value列中的值替换Table1表中满足该条件的所有值。(因此任何类型为'REG'的值);什么时候更新将使用列
DEFAULT\u VALUE
?哦,很抱歉,我没有提供,因为我想如果我可以得到更新第一个场景的方法,第二个场景将是一个cakewalk,因为我可以将相同的概念应用于它。条件是如果代码'DEF'和值为null谢谢,这就是我要找的!我的问题是不是很糟糕?不知道为什么我会收到负面回应/评分。。。