2013-04-01 139 views
1

我有2個表tbl_A和tbl_A_temp。這兩個表都有相同的模式。他們的主鍵不同,因爲他們是身份列。有沒有辦法我可以比較這兩個表中的兩行,並知道它們是否有所不同。我將從tbl_A_temp向tbl_A插入數據,我需要這個比較只是爲了確保我沒有在數據庫中插入任何重複的數據主表。比較具有相同列的不同表中的行

問候, 阿米特

回答

2

我認爲這應該爲你工作。基本上,因爲您沒有加入的主鍵,所以您需要在所有其他字段上執行LEFT JOIN。如果有任何不同,則NULL檢查將是真實的:

SELECT t.* 
FROM tbl_A_temp t 
    LEFT JOIN tbl_A a ON 
     t.field1=a.field1 AND t.field2=a.field2 AND ... 
WHERE a.field1 IS NULL 

我也看到其他人使用CHECKSUM,但遇到了問題,自己與它返回的誤報。

+0

謝謝..這種方法有點簡化了解決方案。 –