【发布时间】:2011-11-09 10:17:37
【问题描述】:
我目前正在使用的 Web 应用程序具有文件导入逻辑。逻辑
1> 从文件 [excel 或 txt] 中读取记录,
2> 显示所有导入记录的不可编辑网格[如果数据库中不存在新记录,则将它们标记为新记录,并且将现有记录标记为更新] 和
3> 转储数据库中的记录。
文件中包含以下格式的联系人(使用主键 First_Name, Last_Name 镜像数据库中的列):
First_Name, Last_Name, AddressLine1, AddressLine2, City, State, Zipcode
我们遇到的问题是文件中输入的同一实体有不同的值。例如,有人可能会为 New York 输入 NY,而其他人会输入 New York。同样适用于名字或姓氏ex。 John Myers 和 John Myer 指的是同一个人,但由于记录不完全匹配,它插入记录而不是重复使用它进行更新。
例如,文件中的记录(请注意姓名和地址使用纯属巧合:)):
John, Myers, 44 Chestnut Hill, Apt 5, Indiana, Indiana, 11111
以及数据库中的记录:
John, Myer, 80 Washington St, Apt 1, Chicago, IL, 3333
系统应该已将文件中的记录检测为现有记录 [因为姓氏是 Myers 和 Myer 并且因为名字完全匹配] 并更新地址,而是插入一个新的价值。
如何解决这个问题,即我想找到所有可以对数据库中现有记录执行匹配的记录?
【问题讨论】: