我有2张桌子: 客户:
Client_name varchar(20),
Client_id int,
Insurance_years int,
last_value decimal(10,2),
new_value decimal(10,2);
事故:
Client_id int,
Accident_year int;
我需要执行NEW_VALUE = LAST_VALUE +(0.08 * LAST_VALUE),对于 ACCIDENT_YEAR>表客户中的每个 CLIENT_ID ,只需增加8% 2000
和
对于客户 accident_year< 2000 和insurance_year> 6 我需要给他们10%的折扣 LAST_VALUE
答案 0 :(得分:1)
您可以通过在where
子句中进行过滤来完成此操作:
update customer
set NEW_VALUE = LAST_VALUE + (0.08 * LAST_VALUE)
where client_id in (select a.client_id from accident a);
我可以更简单地将其说成:
update customer
set NEW_VALUE = LAST_VALUE * 1.08
where client_id in (select a.client_id from accident a);