我需要使用从其他2列计算的值填充货币值列。
所以:
original_value amount new_value
12 2 NULL
10 1 NULL
这将成为:
original_value amount new_value
12 2 24
10 1 10
我只想更新NULL列。
这需要适用于SQL Server和MYSQL!
答案 0 :(得分:4)
正如我在评论中所说; 不存储计算值(来自其他列。)冗余,未规范化,数据不一致的风险!改为创建一个视图 - 永远是最新的!
create view viewname as
select original_value, amount, original_value * amount as new_value
from tablename
SQL Server已计算列,执行以下操作:
alter table tablename add new_value as original_value * amount
答案 1 :(得分:2)
只需使用UPDATE
UPDATE table_name
SET new_value = (original_value * amount)
WHERE new_value IS NULL
答案 2 :(得分:1)
你可以试试这个
UPDATE
table_name
SET new_value = original_value * amount
WHERE
new_value is null