`

活动活动大脑的一个稍微复杂一点的sql

    博客分类:
  • DB
阅读更多

 

前段时间帮小朋友写了一个SQL, 好久没写了, 记在这里, 就算是自己思维的一个Cache吧。 

     需要是这样的: 表a[帐号,余额], 表b[帐号,余额], a,b中的帐号一样,余额不一样,我想把a中和b中一样帐号的帐号的余额,改成和b中一样。 这里没要数据量级上的限制, 下面的sql实现就没考虑性能方面的事。 

     我用的是Mysql, 建表语句和初始化数据见附件1。 

     先用一个View过渡了下, 再合并成如下的sql: 

        update 
               a 
                    inner join                     
               (select b.* from a , b where a.account = b.account and a.balance != b.balance) as b1

on a.`account` = b1.`account`

set a.`balance` = b1.`balance`

where a.`account` = b1.`account`
0
5
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics