0
A
回答
3
如果要比較數據值,則有兩個級別;
您可以在一個表中存在不存在於另一個表中的行。在這裏,您需要在一邊對每個表執行兩個左連接查詢。
對於相同的記錄,您需要逐個比較字段。不幸的是,很容易。另一種方法是在整行上執行校驗和。
您還可以購買sql redgate比較和數據比較,比較結構和數據。你可以試用它的試用軟件 - 它真棒。
http://www.red-gate.com/products/sql-development/sql-compare/
http://www.red-gate.com/products/sql-development/sql-data-compare/
1
通常的辦法比較兩個表是full outer join
,如:
select coalesce(t1.pk, t2.pk) as Key
, case
when t1.pk is null then 'Not found in Table1'
when t2.pk is null then 'Not found in Table2'
else 'Different'
end as Reason
from Table1 as t1
full outer join
Table2 as t2
on t1.pk = t2.pk
where t1.pl is null
or t2.pk1 is null
or t1.col1 <> t2.col1
or t1.col2 <> t2.col2
or t1.col3 <> t2.col3
...
空列需要額外的邏輯。假設沒有行包含值<<NULL>>
,你可以:
or IsNull(t1.col4,'<<NULL>>') <> IsNull(t2.col4,'<<NULL>>')
0
與BINARY_CHECKSUM功能,像這樣嘗試:
declare @Table1 table (Id int identity(1,1), Param1 varchar(10), Param2 int)
declare @Table2 table (Id int identity(1,1), Param1 varchar(10), Param2 int)
insert into @Table1 (Param1, Param2) select 'A', 1
insert into @Table2 (Param1, Param2) select 'A', 1
select t1.*, t2.*
from @Table1 t1 full join @Table2 t2 on (t1.Id = t2.Id)
where binary_checksum(t1.Id, t1.Param1, t1.Param2) <> binary_checksum(t2.Id, t2.Param1, t2.Param2)
查詢返回的記錄,那只是一個表中,而不是在另一。該查詢還返回兩個表(使用主鍵)中的記錄,但其他列是不同的。
編輯 - 你是什麼意思與不同的字段名稱?如果兩個表格都有不同的字段,那麼它們的偏差就會不同...
相關問題
- 1. 比較兩個具有不同字段的SQL表
- 2. 使用SQL比較兩個不同表中的字段
- 3. 比較兩個不同表中的不同字段
- 4. 比較兩個具有相同數據名稱的餅圖(Highcharts)
- 5. Symfony合併兩個具有相同名稱字段的表單
- 6. 如何比較兩個不同表中的相同字段?
- 7. 如何使用Hibernate比較兩個不同表中的字段?
- 8. 如何從ASP和SQL Server的不同表中檢索兩個具有相同名稱的字段?
- 9. 比較oracle中的單個表的兩個字段sql
- 10. 如何比較SQL中兩個不同表中的兩列?
- 11. 比較SQL中的單個字段與兩個字段
- 12. 比較不同目錄中的兩個文件的名稱
- 13. 比較兩個名稱字符串php
- 14. 比較兩個名稱列表
- 15. Extbase查詢來比較同一個表中的兩個字段
- 16. 具有不同字段名稱的SQL多選查詢?
- 17. 比較具有不同結構的兩個列表
- 18. 比較兩個不同表中的列
- 19. SQL查詢比較mysql中同一個表中不同行的相同字段
- 20. SQL - >比較兩個表中的日期字段
- 21. 比較SQL中不同類型的不同表中的兩列
- 22. 在Java中比較兩個具有相同值的字符
- 23. 的Sql - 比較兩個表
- 24. 比較記錄並顯示具有不同值的列名稱
- 25. JSON字段具有相同的名稱
- 26. 具有兩個相同名稱列的兩個表的輸出
- 27. 使用jQuery比較多個輸入字段具有相同的類名稱但ID不相同
- 28. 在SQL Plus中比較兩個不同表中的值Oracle
- 29. 工具比較兩個不同數據庫中的表格
- 30. 比較兩個clob字段
請更具體一些。你想要比較多少列?提供表格模式也有幫助。 – harpo 2011-04-24 05:49:34
比較以什麼方式?你想達到什麼目的? – Oded 2011-04-24 05:50:54
這兩個表的數據類型是否相同? – 2011-04-24 05:51:24