資料庫表數據對比
A. 如何比較兩個資料庫中兩個表中的數據是否相同
不知道你表中的數據有多少,用IF:
在表B的B1輸入=IF(COUNTIF(表A!A1,A1),"","不同專") 回車並下屬拉
補充:
=IF(AND(表A!A1<>A1,OR(表A!A1<>"",A1<>"")),"不同","") 回車並下拉
也行。
數據多的,在表C的A1輸入:
=IF(AND(表A!A1<>表B!A1,OR(表A!A1<>"",表B!A1<>"")),"不同","")
回車,向右復制(右拉),再選A1~最右邊的(如Z1),一起向下復制(下拉)。
B. 如何:比較兩個資料庫的數據
比較的資料庫分別稱為「源」和「目標」。說明:資料庫項目不包含任何數據。因此,在數據比較中資料庫項目不能作為源或目標。比較數據時,會生成數據操作語言 (DML) 腳本,使用該腳本可以通過更新目標資料庫中的某些或全部數據來同步不同的資料庫。完成數據比較後,結果會出現在 Visual Studio 的「數據比較」窗口中。有關更多信息,請參見比較資料庫數據概述。說明:還可以比較兩個資料庫的架構或同一資料庫的兩個版本的架構。有關更多信息,請參見如何:比較兩個資料庫的架構。比較資料庫數據比較兩個資料庫的數據在「數據」菜單上指向「數據比較」,然後單擊「新建數據比較」。將出現「數據比較」向導。而且,會打開「數據比較」窗口,並且 Visual Studio 會自動為其指定一個名稱,如 DataCompare1。在「數據比較」向導中,確定源資料庫和目標資料庫。如果「源資料庫」列表或「目標資料庫」列表為空,請單擊「新建連接」。在「連接屬性」對話框中,確定資料庫所駐留的伺服器以及連接資料庫時將要使用的身份驗證類型。然後,單擊「確定」關閉「連接屬性」對話框並返回到「數據比較」向導。在「數據比較」向導的第一頁上,驗證每個資料庫的信息均是正確的,指定要在結果中包括的記錄,然後單擊「下一頁」。「數據比較」向導的第二頁將出現並顯示資料庫中表和視圖的層次結構列表。說明:表和視圖必須滿足兩個條件才會出現在列表中。第一個條件是,源資料庫對象和目標資料庫對象的架構必須匹配。第二個條件是,該列表中僅顯示具有主鍵或唯一鍵的表和視圖。如果沒有同時滿足這兩個條件的表或視圖,則該列表將為空。選中要比較的表和視圖所對應的復選框。或者可以展開資料庫對象的節點,然後選中要比較的對象中的列所對應的復選框。說明:要比較的每個表或視圖都必須定義匹配的主鍵、匹配的索引或唯一的鍵。否則,會從將比較的表的列表中將該表移除。對於一些對象而言,可以使用「比較鍵」列指定要作為數據比較依據的鍵。例如,可以指定使數據比較依據主鍵列還是依據其他(唯一可標識)鍵列。單擊「完成」。比較開始。說明:通過打開「數據」菜單,單擊「數據比較」,再單擊「停止數據比較」,可以停止正在進行的數據比較操作。完成比較後,可以查看兩個資料庫之間的數據差異。還可以更新目標資料庫中的部分或全部數據,以與源資料庫中的數據匹配。有關更多信息,請參見如何:查看數據差異和如何:同步資料庫數據。
C. 怎樣把兩個不同資料庫里的表對比
是查找temp1和temp2表明不相同的么?如果僅僅是查找表明不同的那好辦,一條語句就可以搞定。
Select TABLE_NAME FROM temp1.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE='BASE TABLE' where TABLE_NAME not in(
Select TABLE_NAME FROM temp2.INFORMATION_SCHEMA.TABLES Where TABLE_TYPE='BASE TABLE')
如果還要查找數據表結構的不同,可以試下這個語句
Select temp1.dbo.sysobjects.name as Table_name, temp1.dbo.syscolumns.name AS Column_name
FROM temp1.dbo.syscolumns INNER JOIN
temp1.dbo.sysobjects ON temp1.dbo.syscolumns.id = temp1.dbo.sysobjects.id
Where (temp1.dbo.sysobjects.xtype = 'u') AND (NOT (temp1.dbo.sysobjects.name LIKE 'dtproperties'))
--可以查詢資料庫中所有的表和欄位的數據,然後兩個表的比較就行了。我就不寫了
D. 如何比較兩張資料庫表的內容
兩個表的數據復循環顯示制.
如果表一的和表二的相同,就加一個顏色值,在html中讓顯示的字元加上顏色就可以區分了.
如果要分部分顯示,可以用數組暫存或資料庫暫存數據,將相同的或不同的暫存下來,顯示完一樣後再顯示另一樣.
E. 兩個資料庫表怎麼對比
你把數據導出到excel,帶表頭,然後用公式或者vba就可以比對了
F. Sql資料庫表單數據對比
select a.* from
(select * from tab1 a where backDate=Convert(date,GETDATE())) a
inner join (select * from tab1 where where backDate=DateAdd(day,-1,Convert(date,GETDATE()))) b
on a.Id=b.id and (a.price <>b.price or a.count<>b.count)
試下吧,on後而我預設的幾個匹配欄位,具體根據你的列來確定
G. sql資料庫中的兩個表的記錄進行比較
問題補充:
select N'ab',N'ab',N'bc',N'bc',N'abc',N'ab',N'ab',N'ac',N'abc',N'ab'
select N'ab',N'ab',N'bc',N'bc',N'abc',N'ab',N'ab',N'ac',N'abc',N'ab'
微軟專家吳熹
能否解釋一下上面的語句是什麼意思,因為我要比較幾萬條記錄,不會要這樣每條都寫入程序吧!
A表中有幾萬條記錄,B表中有800條記錄,A表中的每條記錄和B表中的每條記錄進行比較,A表的每條記錄和B表800條記錄比較後把比較結果寫到A表記錄新增的800條欄位里進行存儲。
---------------------------------
以上腳本是生成測試數據,加上N''--用生成nvarchar符號,有特殊字元時可加上。
兩個表要通過主健關連 加上條件 where a.ID=b.ID,不加條件時,需要保證A表只有一條數據.
沒主健時多對多關系會產生笛卡爾結果集
--> --> (Roy)生成測試數據
declare @A table([1] nvarchar(1),[2] nvarchar(1),[3] nvarchar(1),[4] nvarchar(1),[5] nvarchar(1),[6] nvarchar(1),[7] nvarchar(1),[8] nvarchar(1),[9] nvarchar(1),[10] nvarchar(1))
Insert @A
select N'a',N'c',N'a',N'b',N'a',N'b',N'c',N'c',N'a',N'b'
--> --> (Roy)生成測試數據
declare @B table([1] nvarchar(2),[2] nvarchar(2),[3] nvarchar(2),[4] nvarchar(2),[5] nvarchar(3),[6] nvarchar(2),[7] nvarchar(2),[8] nvarchar(2),[9] nvarchar(3),[10] nvarchar(2))
Insert @B
select N'ab',N'ab',N'bc',N'bc',N'abc',N'ab',N'ab',N'ac',N'abc',N'ab'
Select a.*,
case when b.[1] like '%'+a.[1]+'%' then 1 else 0 end+
case when b.[2] like '%'+a.[2]+'%' then 1 else 0 end+
case when b.[3] like '%'+a.[3]+'%' then 1 else 0 end+
case when b.[4] like '%'+a.[4]+'%' then 1 else 0 end+
case when b.[5] like '%'+a.[5]+'%' then 1 else 0 end+
case when b.[6] like '%'+a.[6]+'%' then 1 else 0 end+
case when b.[7] like '%'+a.[7]+'%' then 1 else 0 end+
case when b.[8] like '%'+a.[8]+'%' then 1 else 0 end+
case when b.[9] like '%'+a.[9]+'%' then 1 else 0 end+
case when b.[10] like '%'+a.[10]+'%' then 1 else 0 end as 新列
from @A a,@B b
(1 行受影響)
1 2 3 4 5 6 7 8 9 10 新列
---- ---- ---- ---- ---- ---- ---- ---- ---- ---- -----------
a c a b a b c c a b 7
(1 行受影響)
H. 關於mysql資料庫兩個表數據對比問題
insert into T2(A,B,C) select A,B,C from T1 where concat(A,B,C) not in (select concat(A,B,C) from T2)
注意:以上語句不能處理A,B,C中有null值的情況。
I. sql資料庫中如何對比兩張表,求語句!!!!
假設表有三個欄位,col1, col2, col3。
select * from A
where
not exsits (
select * from A
inner join B on A.col1 = B.col1
and A.col2 = B.col2
and A.col3 = B.col3
)
是這個意思么? 語句沒執行過,僅供參考。