美文网首页
2020-04-28 需求

2020-04-28 需求

作者: CharlesNg | 来源:发表于2020-04-29 09:12 被阅读0次

    需求:数据库表(向每日可保养箱列表的作业日期插入时间,时间是从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导入数据库即可

    相关文章

      网友评论

          本文标题:2020-04-28 需求

          本文链接:https://www.haomeiwen.com/subject/pbpwwhtx.html