修改同一张表的同一个字段的两个不一样的值。

      1.   数据表结构


      2.  问题描述
          id='20151210144525'的用户Balance减小100, id='20151209173022'的用户Balance就增长100。

   

     3.  SQL语句 sql

update bankaccount ba
   set ba.balance =
       (select a.balance
          from (select ba.id,
                       case
                         when ba.id = '20151209173022' then
                          ba.balance + 100
                         when ba.id = '20151210144525' then
                          ba.balance - 100
                         else
                          ba.balance
                       end balance
                  from bankaccount ba) a
         where ba.id = a.id)
 where ba.id in ('20151209173022', '20151210144525');
相关文章
相关标签/搜索