如何从其他表中更新表中的值
Posted
技术标签:
【中文标题】如何从其他表中更新表中的值【英文标题】:how to update value in a table from other table 【发布时间】:2013-11-17 01:11:21 【问题描述】:我需要用(自己的值)-(其他表中的值)来更新表中的值
我试过了
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 数据库。
请提出一种方法来做到这一点。
谢谢
【问题讨论】:
【参考方案1】:您需要一个子选择来从另一个表中获取值:
UPDATE FULLTABLE ft
SET ft.Balance = ft.Balance - (SELECT ab.balance
FROM AdvBalance ab
WHERE ft.id = ab.advid);
如果子查询可能返回多行,这将失败,但如果是这种情况,那么您必须决定如何找到要减去的正确值。
【讨论】:
以上是关于如何从其他表中更新表中的值的主要内容,如果未能解决你的问题,请参考以下文章