oracle 批量修改子查询该如何修改啊

oracle修改a字段,修改的字段是个子查询
查询出来的字段值为 a;10 b:20, a:13 b:60 a:18 b:84
a和b查出来的值为动态的 而且要把b当做where条件进行修改

update xxx
set a=(select a from yyy where b=xxx.b)
where **************