【发布时间】:2010-09-13 04:56:30
【问题描述】:
我有一个只包含两列的表 - ListID 和 PersonID。当一个人在系统中与另一个人合并时,我要将来自“源”人的所有引用更新为对“目标”人的引用。
理想情况下,我想调用一些简单的东西,例如
UPDATE MailingListSubscription
SET PersonID = @DestPerson
WHERE PersonID = @SourcePerson
但是,如果目标人员已经存在于此表中,并且与源人员具有相同的 ListID,则会创建重复条目。如何在不创建重复条目的情况下执行此操作? (ListID,PersonID为主键)
编辑:使用了多个 ListID。如果 SourcePerson 分配给 ListID 1、2 和 3,DestinationPerson 分配给 ListID 3 和 4,那么最终结果需要有四行 - DestinationPerson 分配给 ListID 1、2、3 和 4。
【问题讨论】:
标签: sql tsql duplicate-data