zoukankan      html  css  js  c++  java
  • ACCESS中通过一个字段补齐更新另一个字段

    [干货从下面红字开始]

    搞了好久的一个问题终于有结果……

    根据学生进出馆的次数和学生报名人数来分配自习间

    学生报名是通过工号(学号)来报名的;

    而门禁系统统计出来的数据有绝一大部分仅有 卡号没有 工号和姓名,

    即便统计出来也不准啊:

    各种问,各种找,

    问财务,说给的卡号没有问题,

    问门禁管理人员,说搞好了给我电话,

    搞好几天也没有给我打电话,

    据说是简单的看了下没有搞明白,当时一同事在那看见了

    就这光导出日志就花了NN久。(门禁是office 2003)每次只能导60000条数据,还要等10分钟导一次,

    中间再死几次机,我KAO……

     

    到最后还是要靠自己……

    找了好久才从门禁系统里面导出学生的卡号,工号,姓名这张表,

    窃喜,

    真是什么事都能遇上:结果一对比,

    一条数据也对不上,WHAT??????

    原来,

    门禁系统中,学生信息(卡号,工号,姓名)和日志导出的信息中的卡号居然不一样:

    学生信息卡中:卡号是字符型,而日志中则是数字型,所有前面的‘0’字符都给吃了。

    OH,SHIT!!这样的系统也能卖??????????

     (虽为技术部的我,也只能干瞪眼,因为上系统,只是一拍脑袋的事情。)

    我想问我可以骂人吗,

    没有办法,还要处理这些破数据,本以为很简单的事,我的机器上仅有ACCESS数据库,

    好吧,所有的数据都导入ACCESS,

    才发现,需要一个新的字段,把原来的不全的卡号给补全

    环境:ACCESS 目标:卡号是8位的,不足的前面用‘0’补全)

    本以为是多么EASY 的一件事,

    可是发现并不容易,各种找:

    最后静心想想:

    1、把每一个卡号都在前面加8个‘0’

    2、再从右边截取8位

    那也搞了我一个晚上,

    原来就是一句话的问题

    select right(('00000000'&acountID),8) as cardID,stuID,stuName into countedStu_new from countedStu

    直接写入到另一个表中。

    最后用的是这样一句话:

    select a.stuID,a.stuName,a.cardID,b.times  into roomResult from AllCardIDStu as a,countStu_new as b where a.cardID=b.cardID and a.stuID in(select stuID from enrollRoom)  order by b.times desc 

    网上查了好多,都说不行,得搞到SQL SEVER 里写函数什么的。

    终于自己一句话就搞定了。

     

  • 相关阅读:
    3个常用基于Linux系统命令行WEB网站浏览工具(w3m/Links/Lynx)
    Linux进程关系
    Linux信号基础
    Linux进程基础
    Linux架构
    Linux文本流
    Linux文件管理相关命令
    Linux命令行与命令
    【转载】 input 输入格式化
    【所见即所得】textarea 精确限制字数、行数,中、英、全半角混检 。源码带注释
  • 原文地址:https://www.cnblogs.com/ssqhan/p/6637430.html
Copyright © 2011-2022 走看看