有点远,因为我不确定这是怎么可能的。但是这里有:
R位于数据库1 D1中的表1 T1中。 R位于数据库2 D2中的表2中。 T1中的每个R在T2中只有一个对应的R. T1和T2中的每个对应R都有自己唯一的标识符,但它们不匹配。
T1和T2中有许多列匹配(“发票日期”,“发票编号”,“净额”,“税额”和“供应商”)。
T1和T2也有许多不匹配的列,我感兴趣的是这些列(T1中的“作业”和T2中的“未结发票余额”)。
我首先在T1和T2(“发票日期”等)中匹配的列(字段)之间的查询中创建连接,认为这会将T1中的相应R链接到T2中的相应R。而且大多数情况下都有效。
但是,我注意到有些Rs对所有连接字段都有重复值,因此没有链接到相应表格中的正确R.
假设我无法更改数据库及其各自表的动态,如果在连接字段中有重复值,如何链接相应的R?
可能证明有用的其他信息是每个R在两个表中都有一个“日期时间”标记,反映创建记录的时间。 T1和T2中相应的Rs令人烦恼地没有相同的“日期时间”标记,但总是它们非常接近(相隔几毫秒)。这也意味着T1中产生重复值的Rs将具有略微不同的时间戳。事实上,这意味着如果有重复记录,T1中的第一条记录(即T1中最早的日期时间戳记的记录)将被分配给T2中正确的相应R(同样,最早的日期时间戳) )。
我能想到的唯一方法是创建多个查询并慢慢消除已正确匹配的记录。因此,第一个查询将显示所有记录,其中许多具有正确的相应匹配记录,但其他记录是重复的。第二个查询将删除T1中记录的唯一ID以及T2中正确匹配的Rs(即没有重复项)的相应唯一ID,以及每个副本的第一个记录(因为这些似乎已正确分配) 。 T1和T2中的剩余记录现在已经删除了重复,或者可能仍然有一些重复。我们现在使用这些剩余记录重新运行第一个查询,这意味着T1中的更多Rs与T2中的相应Rs正确匹配,可能还有一些重复。然后重复整个过程,直到没有重复,并且T1中的每个R被分配给T2中的相应R.
这是我必须要合作的东西,我试图逻辑地阐述我想要完成的任务。如果您有任何其他问题,请告诉我,但如果您能告诉我这是否可行以及如何完成,或者根本不可能,我将非常感激。