Foxtable(狐表)用户栏目专家坐堂 → sql 语句 update 漏了很多符合条件的记录


  共有1697人关注过本帖树形打印复制链接

主题:sql 语句 update 漏了很多符合条件的记录

帅哥哟,离线,有人找我吗?
zhouhai39
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1082 威望:0 精华:0 注册:2017/11/3 1:21:00
sql 语句 update 漏了很多符合条件的记录  发帖心情 Post By:2018/11/7 22:24:00 [只看该作者]


在工作中执行SQL用update语句进行数据比对时,出现大面积遗漏(4218条符合条件记录仅能筛选出1867条遗漏超过50%)是什么回事?怎么办?


 语句:UPDATE {全市学籍系统信息_20180822},{2018年秋季学期高中在校生名单} SE T {2018年秋季学期高中在校生名单}.是否是在系统='' WHERE {全市学籍系统信息_20180822}.证件号码={2018年秋季学期高中在校生名单}.学生身份证号

 

请问是什么原因?怎么办?谢谢!


[此贴子已经被作者于2018/11/7 22:27:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/7 22:41:00 [只看该作者]

select 连接查询一下两表,看查出来的数据有多少。

 回到顶部
帅哥哟,离线,有人找我吗?
zhouhai39
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1082 威望:0 精华:0 注册:2017/11/3 1:21:00
  发帖心情 Post By:2018/11/7 23:22:00 [只看该作者]

麻烦老师说具体点(我是初学者),其中一个数据表数据较多,有几十万条,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/8 8:49:00 [只看该作者]

比如执行这个代码连接,看匹配的结果,如果匹配只有1867行,说明你数据本身就是不匹配的,具体原因,参考第二条sql语句

 

Select * from {全市学籍系统信息_20180822} As a Inner join {2018年秋季学期高中在校生名单} As b on a.证件号码=b.学生身份证号

 

Select a.证件号码, b.学生身份证号, * from {全市学籍系统信息_20180822} As a left join {2018年秋季学期高中在校生名单} As b on a.证件号码=b.学生身份证号

 

如果还不会做,实例发上来测试。


 回到顶部
帅哥哟,离线,有人找我吗?
zhouhai39
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1082 威望:0 精华:0 注册:2017/11/3 1:21:00
  发帖心情 Post By:2018/11/8 23:43:00 [只看该作者]

我发现是数据的类型出了问题,在导入aecc 的源文件excel文件中,身份证号码尽管都是显示的都是文本类型,但我用“数据-分列-文本”转换时,却有些变成了数字型,巧好是这些数据没能比对出来,估计就是数据类型不匹配,但我不懂如何将这些数据转换成与其他数据的类型相一致,网上说的转换方法都用了,就是不行。谢谢!
[此贴子已经被作者于2018/11/8 23:43:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/9 8:54:00 [只看该作者]

1、看你数据库里面(access)的数据是否正确,是否匹配。执行4楼sql语句测试对比。

 

2、如果access里面没有数据,说明你从excel里面导入的时候没有把数据导入进去。

 

3、你尝试把你的excel文件另存为txt,然后再倒入access里面看看。


 回到顶部
帅哥哟,离线,有人找我吗?
zhouhai39
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1082 威望:0 精华:0 注册:2017/11/3 1:21:00
  发帖心情 Post By:2018/11/10 17:28:00 [只看该作者]

谢谢!有数据,应该是数据类型不匹配,在未导入access前的Excel中就有些又蓝点有些没用,(但经过数据--分列--文本还是没有变成有蓝点的),后来是导入access后有把它导出Excel然后再导入access,再比对就可以了,可能是反复导入导出后数据类型都变成文本了。谢谢!


 回到顶部