2020-04-28 需求

需求:数据库表(向每日可保养箱列表的作业日期插入时间,时间是从excel中获得,excel中有不同箱号的多个日期,取最新的日期即可)
1.在数据库中新建一张临时表(t_ls_maintain_list),包括的字段(guid、box_no、work_time),其中work_time的数据类型是varchar。
2.调整excel中不规范的日期(比如2020.3.2),用/全局替换.,可以得到类似于2020/3/2这样的日期格式。
3.在excel中新建一行,把数据库表中对应的字段写入

1588114287(1).png

4.将excel表格导入到当前数据库表中
5.生成对应的guid

update t_ls_maintain_list set guid = uuid()

6.由于一个箱号可能对应多个保养时间,所以需要去重取日期最新的那个记录

SELECT * FROM t_ls_maintain_list ls  WHERE ls.work_time = (SELECT max(work_time) FROM t_ls_maintain_list WHERE ls.box_no = box_no) ORDER BY ls.box_no

ps:这里要注意一个日期格式问题,如果日期格式是2020/3/2这种的,在取最新日期的时候需要改成2020/03/02这种,不然有可能取不到最新的日期
7.将当前去完重的数据导出到excel
8.将当前t_ls_maintain_list中的数据全部删除

delete from t_ls_maintain_list

9.再将导出的去了重的excel数据重新导入到t_ls_maintain_list表中
10.同库不同表之间的更新操作

UPDATE t_zy_maintain_day_list
INNER JOIN t_ls_maintain_list ON t_ls_maintain_list.box_no = t_zy_maintain_day_list.box_no 
SET t_zy_maintain_day_list.work_time = t_ls_maintain_list.work_time

这样t_zy_maintain_day_list表中的作业时间就能拿到excel中的最新日期值了
容易出错的地方:excel转csv的时候会导致箱号是0开头的直接省略了0,比如箱号是0010的,转成csv之后,箱号就变成了10,这个不利于后面更新操作的时候箱号一一对应匹配,所以就直接用excel导入数据库即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【精时力学习日志】 本训练营:早起营(4月版) 今日主题:3-6结营 学习日期:2020年4月29日 1.[知识]...
    一节木頭阅读 1,599评论 0 1
  • 微妮 4月29日 周三 感恩日志打卡 20/100 晴 1、感恩舞张老师大清早开车带我回XY办理资金证明,花...
    西北小妖在路上阅读 1,150评论 0 1
  • 2020年4月28日,李国庆夺权事件继续发酵,整体有升级的感觉,引起了广大网友的猜疑。 今日上午,李国庆直接用发布...
    一只红狸阅读 1,384评论 1 0
  • 第一百零二章:ACE的荣誉,有你一份。 文/莫落血棠 “到达胜利之前,无法回头。” ACE抱着这样的心态,站在比赛...
    蕤花遗令阅读 3,101评论 8 3
  • 我觉得市场营销把握好一个奥义,就不会差到哪里去:多听老板的话。 Why? 普遍意义上讲,一个人站在一定高度上,一定...
    Bowie1988阅读 1,027评论 0 0