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 里写函数什么的。

毕竟自己一句话就搞定了。

 

 

相关文章