行转列--Excel和数据库的完美结合

15 篇文章 0 订阅
12 篇文章 0 订阅

 

    入职到现在已经有一段时间了,除了不断完善新功能外,线上运维也是一项很重要的任务,每天都需要占用一

定量的时间来处理,这时候怎样高效准确的来解决这些问题是很值得考虑的。
 
    今天客服人员给我反馈了这样一个线上问题,详情见下图:

   

    子表中以上员工code值在主表中找不到记录。假设现在脱离实际环境,我们简单的把这些员工的信息从子表中删

除,这样一堆数据先思考一下你会怎么进行处理呢疑问??


    下面分享一下我的解决方案。如果你有更好的想法,欢迎在下方评论中进行指教或邮件给我分享一下:

18330691161@163.com


    这里我仅以部分数据为例再现一下吧,简单思路就是先利用excel表格进行行转列操作,然后在SQL语句中用

IN做批处理。下面是具体操作过程:

1、复制以上员工code,粘贴到excel表格A1中


2、点击菜单栏[数据]——>[分列]


3、数据分列共3步,在第2步中设置分隔符号标准,这里是“,”,注意中英格式,在数据预览中可以看到分隔后的效

果图。下一步完成。


分列后的员工code


4、复制数据行,在空白格内右击鼠标在弹出的快捷菜单中找到--[选择性粘贴],在展开的内容中选择[转置]


行转列后的效果图:


5、到这里还没有结束哦,继续看。在数据列的左右分别插入一行,注意:先输入一个空格,然后英文格式下

“ '”,左右同理。


6、将上面的单元格数据复制到数据库中,用[ctrl+H]全部替换掉'....'之间的空格,然后用IN做批量删除。

DELETE TestA WHERE EmployeeCode IN (
'05c41401-0dc0-4690-bb00-848f2a99448b ',
'064149f7-202b-44b0-81ec-1b2c8e745082 ',
'0858876b-7222-4be8-8d4d-49b4f5dcaf7d ',
'0a7d458f-3344-4340-8b0e-04220aaececd ',
'0e0cea72-0156-40fe-82c6-a7cc36ae7c8f ',
'0fca3044-cc3f-48a6-a7b0-2474d4388ecc ',
'14521fa3-79c7-4c3b-bcd1-0dd814588665 ',
'15ebb333-a773-a1fd-41c2-46135933d1b9 ',
'1624b1f7-e03e-4b97-8b19-e38198cbb644 ',
'1685227e-0385-46ae-93b0-ea3031685e71 ',
'22ba9ec1-ca83-46be-a3ae-ef82f52ea3d8 ',
'2377bc30-1bb8-4126-a621-6f8ec2e9d8de '
) AND VersionEndTime IS NULL


    到这里问题就解决完了。Excel和数据库的结合使用,大大降低了我们的工作量。如果此时你有更好的想法或建

议,随时欢迎来分享!

 

关键字:行转列 批处理 大数据


--------------------------------------------思想总结--------------------------------------------------

    技术诚可贵,思想价更高。一个优秀的程序员,高效的开发不是靠时间堆砌出来的,思想上移行动下移,才会

在编程的道路上越走越远,越爬越高。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值