2013-10-22 52 views
-1

我们使用一个克隆应用程序,它将表中的单个记录克隆到'N'个记录到同一个表中。它只更改主键并为每个克隆记录保留一个唯一的值,但所有其他数据对于所有'N'记录都是相同的。我想比较所有N记录并确保它们被正确克隆(这意味着我需要确保所有'N'记录具有相同的数据)。在SQL Server的同一个表中比较'N'个相似的克隆记录

请让我知道,如果任何人有线索如何在SQL Server中做到这一点。对于只有两条记录,我可以用'除了声明',但这里有95个克隆记录...

回答

0

有趣。如果您要将“克隆”记录与父记录进行比较,则需要一个parent_id。

这种方法你可以做这样的事情:

select 
    * 
from 
    [table] as [p] 
inner join 
    [table] as [c] 
on [p].primary_key = [c].parent_key 
where 
    [p].field1 != [c].field1 
or [p].field2 != [c].field2 
+0

喜迈克尔,这里父键和克隆关键是不同的,也是我需要所有95个克隆进行比较。谢谢运行.. – user1542758

+0

@ user1542758,我同意[p] .primary_key!= [c] .primary_key。您需要一个额外的字段来存储parent_key的值,即“克隆”派生的任何记录的primary_key。 – Michael

+0

父记录没有附加字段。父代和克隆驻留在同一个表中。 – user1542758

相关问题