【问题标题】: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 数据库。

请提出一种方法来做到这一点。

谢谢

【问题讨论】:

    标签: jdbc plsql


    【解决方案1】:

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

    UPDATE FULLTABLE ft
      SET ft.Balance = ft.Balance - (SELECT ab.balance
                                       FROM AdvBalance ab
                                     WHERE ft.id = ab.advid);
    

    如果子查询可能返回多行,这将失败,但如果是这种情况,那么您必须决定如何找到要减去的正确值。

    【讨论】:

      猜你喜欢
      • 2011-04-19
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多