没有大豆muy bueno en pl / sql y estoy practicando,y quiero hacer lo siguiente: tengo las tablas
tasas( pk_id_tasa int, monto decimal(9,2) );
salarios( id_salario int, anios int, saldo decimal(9,2), fk_id_tasa int );
y quiero hacer un update para cambiar el monto de una tasa si,esta tiene mas de3añosponerlaen 1.2 y si tiene5añosponerlaen 3.2,he pensado que deberia hacer un inner join porque tengo el monto en una tabla ylosañosenotra e incluir un case para validarlosaños,y realizado algo asi,pero ah no funciona
update tasas ts inner join salarios sl on ts.pk_tasa=s.fk_tasa
set ts.monto=case
when (sl.anios=3) then 1.2
when (sl.anios=5) then 5.2
else ts.monto
end;
o algo que me recomienden para lograr mi objtivo por favor。
saludos ..
答案 0 :(得分:0)
这样的事情有帮助吗?
update tasas ts set
ts.monto = (select case when sl.anios = 3 then 1.2
when sl.anios = 5 then 5.2
else ts.monto
end
from salarios sl
where sl.fk_tasa = ts.pk_tasa
);