我有两份报告。一个是三周前生成的,另一个是几天前生成的。这些报告共享相同的字段(姓氏,名字,SSN等),但数据明显不同。我们编辑了特定字段。可能已经编辑了客户的SSN以反映数据输入错误。他们的地址信息可能已更新。
我们尚未安装审核表作为数据库的一部分,因此我们需要确定另一种方法来识别报告之间的变化。有几个明显的问题。
1)当我们将数据导出到Excel时,不保留记录ID。单个客户可能有多个记录来考虑不同的地址,因此他们的SSN不是唯一的。 2)我们不需要确定变化。我们需要对它们进行分类。如果对SSN进行了更改,请单独报告,而不是对地址所做的更改。
所以,如果我要将这两个文件导入数据库,是否有可以解决这个问题的查询?我和我的团队已经对此进行了一段时间的头脑风暴,我们一无所知。如果没有唯一的记录ID,我们打算在哪个字段上链接?
如果您希望我对问题的任何部分更具体,请告诉我,我会尽我所能帮助您。
报告位于从MS Access 2013中运行的查询中导出的Excel文件中。
谢谢。
答案 0 :(得分:0)
因此,在导出到Excel时丢失了报表时,您的报表没有PK。假设你无法恢复它,除非有其他可以量化为PK的东西,否则你运气不好。
如果我是你,我会做的是将两个报告文件作为单独的表导入: table_old table_new
然后我会做一个减号声明来消除确切的副本:
select * from table_old
minus
select * from table_new
这将显示旧报告中存在的记录,但已删除或修改过。然后你就可以做反转
select * from table_new
minus
select * from table_old
这将为您提供更改和/或新/删除的记录。
话虽如此,对记录进行分类的唯一真正方法是将SSN纳入其中。没有PK将使这个非常不精确的科学,但是在失去PK的时候你将不得不忍受这种接近而不是精确的。