sql2000利用查詢命令進行資料比對

2021-06-19 23:58:19 字數 1525 閱讀 9308

日常工作中,我們經常把乙份電子**的內容(尤其是資料)錄入到電腦系統中,但很多時候錄入完成後發現錄入的結果有錯誤,與電子**的內容(例如:統計求和)有出入,但資料量又太大,如何快速找出哪些人員錄錯了呢,也就是說如何高效的進行資料比對呢。以下圖中我們假設姓名(xm,xm01)欄位的值是唯一的,我們要根據姓名找出金額(je,je01)不一致的記錄。

以上圖中,如何前兩列是原始的電子**內容,後兩列是我們錄入系統後的內容,我們發現有兩條記錄對應的je和je01的值是不一致的,對應的xm是「岳恆勇」,「崔世泉」。

(一)查詢:

方法(一):

我們可以看出,這樣查詢出來的記錄是不完全的,只把同一行名字相同的記錄找了出來,而xm為岳恆勇的名字出現在不同的行上,所以這條記錄沒有查詢出來,接下來怎麼完善查詢呢?

小結:此命令只針對xm排好序了,對應一致在同一行上,顯然上述表中的xm和xm01對應的順序是不一致的,所以查詢的結果是不正確的

方法(二):

select * from (select xm,je from bd) a , (select xm01,je01 from bd) b where a.xm = b.xm01 and a.je <> b.je01
執行結果如下:

我們可以看見,只要是je和je01不一致的記錄都找了出來,不管姓名是不是在同一行上

(二):更新

假如我們想把je和je01不一致的記錄的 flag 置為1,用如下命令

如果xm和xm01的順序一致也可以用如下更新命令:

update bd

set flag = 1

where xm+xm01 in(

select xm+xm01 from (select xm,je from bd) a , (select xm01,je01 from bd) b where a.xm = b.xm01 and a.je <> b.je01

)

利用SQL2000的DTS排程進行定期資料庫備份

1.新建作業 資料庫備份 如下圖所示 2.在作業中新建 步驟 將下面的備份語句嵌入,並在 排程 中設定合理的排程時間 3.備份語句 1 本地備份 declare dw olap varchar 1000 select dw olap d backup olap backup convert varc...

sql2000 基本刪除,插入,查詢

insert into table1 name subject,class values 我的名字 英語 3 select from table1 insert into table1 subject,class values 英語 3 update table1 set name where is...

sql2000儲存過程

自 http www.cnblogs.com a13971240 archive 2008 10 22 1316747.html create proc getdataset tablelist varchar 200 搜尋表的字段,比如 id,datatime,job 用逗號隔開 tablenam...