数据校验的困难
现有一Access数据库,字段内容如下:
A(日期) B(品种) C(名称) D(...) ......
2009-5-8 pz1 m1
2009-5-8 pz1 m2
2009-5-8 pz2 n1
2009-5-8 pz2 n2
2009-5-9 pz1 m1
2009-5-9 pz1 m2
2009-5-9 pz2 n1
2009-5-9 pz2 n2
...
...
日期从2000年开始至今,除了双休和节假日外每天都有数据,品种有几十个,各品种下的名称有重复的,每天每品种下的名称有一条数据,现在的数据有二十多万多。
我现在想做一个校检,检查数据的完整性,比方说数据重复、遗漏等。能提供一些思路吗?
1.数据重复,可能某天的数据重复输入。
2.数据遗漏,有可能会有某天的数据忘记输入。
3.关于双休和假期,双休能直接跳过,节假日例如春节的日期不好确定;五一前几年是7天长假,这几年是3天小假。这个,我的思路是做一个假期表,把假期确定下来,校检的时候跳过这些假期,以后的假期可以通过系统运行时手动更改。
现在麻烦的就是数据重复和遗漏,难道要每条数据都在全表里遍历一遍吗?这样用时太多。有没有什么简便的SQL语句能实现?
[解决办法]
1)重复
SELECT * FROM table1 a WHERE EXISTS (select * from table1 b where b.日期=a.日期 and b.品质=a.品种 and b.名称=a.名称 ...)
[解决办法]
这个a table1的别名