2013-10-22 63 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

相關問題