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

原创
2015/12/23 10:56
阅读数 225
      1.   数据表结构


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

   

     3.  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');




展开阅读全文
打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部