1. 程式人生 > >兩個表之間多欄位的匹配!

兩個表之間多欄位的匹配!

 

/*
 一個專案中涉及到問題:
 歷史工資資料中的員工資訊與最新的員工資訊之間存在差異,
 需要對歷史資料到進行匹配後,才能進行匯入
*/

--建立測試環境
Declare @A Table(
 ID Int,
 Name varchar(10)
)

Declare @B Table(
 ID int,
 Name varchar(10)
)

insert into @a
Select 1, '張三' union
Select 2, '李四' Union
Select 3, '王二'

Insert Into @b
Select 1, '王二'   union
Select 2, '李四'   union
Select 3, '張三'

--根據姓名來匹配
Select * from @a a join @b b on a.name = b.Name
where a.ID <> b.ID

/*
ID Name ID Name
1 張三 3 張三
3 王二 1 王二
*/

--根據編號來匹配
Select * from @a a join @b b on a.ID = b.ID
where a.Name <> b.Name
/*
ID Name ID Name
1 張三 1 王二
3 王二 3 張三
*/