任何人都可以通过以下要求帮助我。
我需要检查记录中的列是否与我想用空字符串替换重复列的任何其他列匹配。
说我有x1,x2,x3列。如何检查x1是否与任何x1,x2,x3列匹配,如果匹配,我想用空字符串替换重复列。
答案 0 :(得分:0)
这样做比预期的要复杂得多。以下是两个选项:
答案 1 :(得分:0)
由于您只有几列,您可以运行一组更新语句,如下所示:
update Contacts
set Phone2 = null
where Phone2 = Phone1
update Contacts
set Phone3 = null
where Phone3 = Phone1
update Contacts
set Phone3 = null
where Phone3 = Phone2
答案 2 :(得分:0)
在SSIS数据流中完成此任务会有点棘手,因为您将尝试比较所有缓冲区中与当前行相比的所有其他行。
相反,我建议像Gordon Bell建议的那样在数据库中暂存数据。然后,您需要确定找到重复项时哪一行获胜。您可能有一个日期列来对其进行排序,或者您可以在ssis中的数据流中添加行号列,并按您收到数据的方式进行排序。
以下是您如何找到获胜行并通过自我加入更新其他人的示例:Deleting duplicate record in SQL Server
米