体系运营支持-如何快速协助处理excel里的数据?来吧,教你一招 ...

打印 上一主题 下一主题

主题 918|帖子 918|积分 2754

今天,一个销售MM发来一个excel文件,内里是客户的结算数据。必要我们技术协助,为excel里每一行的个人银行卡号,匹配出来所对应的银行机构编码和银行名称。
下方是excel文件里此中一部分数据的截图。

预期效果是:

 
 
这要依托我们体系里的卡bin数据来完成。查询卡bin的sql是:select * from card_bin where card_bin=left('[银行卡号]', card_bin_len) and card_len=length('[银行卡号]')

 
 
我发给小组里的一个小伙来处理。
小伙是怎么做的?
小伙见一共有60多条,考虑到编写批处理sql比力耗费时间,就逐条卡号进行复制,然后贴到sql语句的where条件里,在我们的sql平台查询后,将效果再粘贴到对应的单元格里。如此repeat。
 
 
虽然数据量不大,但也会耗费十来分钟的时间,再者,要聚精会神,以免粘贴错行。
 
 
对于不喜欢“如此repeat”的同砚,针对这个小需求,我来先容一个简单的方法。
我的方法,固然不是把excel导入到数据库里。
我的方法,是基于excel强大的公式和mysql强大的sql来搞。
首先,利用excel的公式。天生sql:="union all select '"&D5&"' as cardNo"
然后,复制整列,我们得到一个mysql的临时表:
  1. select '6223200335******' as cardNo
  2. union all select '6227002169966******' as cardNo
  3. union all select '6231190153303******' as cardNo
  4. union all...
复制代码
接下来,就是写终极的sql了:
  1. select distinct b.cardNo, a.union_pay_account, a.iss_ins_nm,a.card_bin from card_bin a join(select '6223200335******' as cardNo
  2. union all select '6227002169966******' as cardNo
  3. union all select '6231190153303******' as cardNo
  4. union all... )b on card_bin=left(cardNo, card_bin_len) and card_len=length(cardNo)
复制代码
执行sql,得到效果。

接下来,把效果粘贴到excel里。搞定!
 
 

 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

自由的羽毛

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表