sql2000利用查询命令进行数据比对
来源:互联网 发布:淘宝开店认证认证不了 编辑:程序博客网 时间:2024/04/30 06:50
日常工作中,我们经常把一份电子表格的内容(尤其是数据)录入到电脑系统中,但很多时候录入完成后发现录入的结果有错误,与电子表格的内容(例如:统计求和)有出入,但数据量又太大,如何快速找出哪些人员录错了呢,也就是说如何高效的进行数据比对呢。以下图中我们假设姓名(xm,xm01)字段的值是唯一的,我们要根据姓名找出金额(je,je01)不一致的记录。
以上图中,如何前两列是原始的电子表格内容,后两列是我们录入系统后的内容,我们发现有两条记录对应的je和je01的值是不一致的,对应的xm是“岳恒勇”,“崔世泉”。
(一)查询:
方法(一):
select * from bd where xm=xm01 and je<>je01
我们可以看出,这样查找出来的记录是不完全的,只把同一行名字相同的记录找了出来,而xm为岳恒勇的名字出现在不同的行上,所以这条记录没有查找出来,接下来怎么完善查询呢?
小结:此命令只针对xm排好序了,对应一致在同一行上,显然上述表中的xm和xm01对应的顺序是不一致的,所以查询的结果是不正确的
方法(二):
select * from (select xm,je from bd) a , (select xm01,je01 from bd) b where a.xm = b.xm01 and a.je <> b.je01
运行结果如下:
我们可以看见,只要是je和je01不一致的记录都找了出来,不管姓名是不是在同一行上
(二):更新
假如我们想把je和je01不一致的记录的 flag 置为1,用如下命令
update bdset flag =1where xm in( select xm from (select xm,je,flag from bd) a , (select xm01,je01 from bd) b where a.xm = b.xm01 and a.je <> b.je01 )
如果xm和xm01的顺序一致也可以用如下更新命令:
update bdset flag = 1where xm+xm01 in( select xm+xm01 from (select xm,je from bd) a , (select xm01,je01 from bd) b where a.xm = b.xm01 and a.je <> b.je01 )
0 0
- sql2000利用查询命令进行数据比对
- 利用VLOOKUP()函数进行数据比对
- 利用ISERROR()函数和match()函数进行数据比对
- 利用VB进行SQL2000的数据备份和恢复
- 利用VB进行SQL2000的数据备份和恢复
- 利用VB进行SQL2000的数据备份和恢复
- 使用SQL语句进行数据比对
- solid数据使用bwa进行比对
- thinkphp 关联查询 数据比对 exp
- 利用GSON对json数据中的时间类型字符串进行处理,并且进行数据库查询
- Java 利用DOM4J对XML进行查询
- sql2000对查询结果分组
- sql2000 数据字典查询代码
- 关于对sql2000查询结果进行相关度排序的测试
- 利用dataview对datagridview进行数据绑定
- 利用临时变量对数据进行累计
- 利用pandas对数据进行基本清洗
- 利用MapReduce对HBase数据进行统计分析
- C++程序设计实践学材系列(25)——1.6 写程序的行规
- 45个实用的JavaScript技巧、窍门和最佳实践
- 如何使用串口通信控件Mscomm
- 菜花1
- 第五章 第一印象
- sql2000利用查询命令进行数据比对
- 晶体管放大电路之负载应用
- 自动创建分区
- C# WebClient上传下载资料问题求助
- 菜花2
- 第六章 女人不世俗
- CUDA5.5入门文章:VS10设置
- 利用Spring 和DBCP实现分布式动态数据库连接池管理
- 远程连接到使用wifi的win7