Jdbc 如何从其他表更新表中的值

Jdbc 如何从其他表更新表中的值,jdbc,plsql,Jdbc,Plsql,我需要使用(自身值)-(类似于其他表中的值)为id更新表中的值 我试过这个 UPDATE FULLTABLE SET FULLTABLE.Balance = FULLTABLE.Balance - AdvBalance.balance WHERE FULLTABLE.id= AdvBalance.advid; 还有这个 update fulltable f set f.balance = ( f.balance - select a.bal

我需要使用(自身值)-(类似于其他表中的值)为id更新表中的值

我试过这个

UPDATE FULLTABLE
            SET FULLTABLE.Balance = FULLTABLE.Balance - AdvBalance.balance
            WHERE FULLTABLE.id= AdvBalance.advid;
还有这个

 update fulltable f set f.balance = ( f.balance - 

select a.balance from advbalance a where a.advid=f.advertiserID)
第一个是抛出无效标识符的错误。第二个是另一个错误

我正在使用oracledb

请建议一种方法


谢谢

您需要一个子选择来从另一个表中获取值:

UPDATE FULLTABLE ft
  SET ft.Balance = ft.Balance - (SELECT ab.balance
                                   FROM AdvBalance ab
                                 WHERE ft.id = ab.advid);
如果子查询可能返回多行,则此操作将失败,但如果是这种情况,则必须决定如何找到要减去的正确值