修改同一張表的同一個字段的兩個不一樣的值。

      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');
相關文章
相關標籤/搜索