欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-14 12:54:39
...

 

前段时间帮小朋友写了一个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`