我需要更新表中的值(自己的值) - (其他表格中的值)为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)
第一个是抛出无效标识符的错误。第二个是其他一些错误。
我正在使用oracle db。
请建议一种方法。
由于
答案 0 :(得分:0)
您需要一个子选择来从另一个表中获取值:
UPDATE FULLTABLE ft
SET ft.Balance = ft.Balance - (SELECT ab.balance
FROM AdvBalance ab
WHERE ft.id = ab.advid);
如果子查询可能返回多行,则会失败,但如果是这种情况,则必须决定如何找到要减去的正确值。