想实现这样的效果amount=amount+amount*(part/total)的计算SQL中该如何写
update myamount set amount=amount*(1+part/total) where amountno=? 这样写为何不对啊
请问该如何写呢?

解决方案 »

  1.   

    应该使用另一个键进行Where的条件。
    自身是不能又做Update与Where条件的.你可以使用SQL的编辑方式试一下。
    写一段使用amount做为条件的,之后再更改他,马上改后的记录就消失了,但是再查询该记录还是未改动。
    若你确实想把amount做为条件,也不是不可能,我认为必须建立临时表操作。
      

  2.   

    不是啊,我的where条件是amountno帐户编号
      

  3.   

    这样写:
    update myamount set amount=? where amountno=?
      

  4.   

    如果帐户编号为1,有
    update myamount set amount=amount*(1+part/total) where amountno='1'成功