0
我需要比較兩個表(表A作爲生產數據和B作爲舊數據)之間的電子郵件記錄(通過電子郵件地址)以找到差異並在列中顯示結果,例如「新建」 ,「刪除」等SQL查找兩個表之間的差異
如果在表A中存在,而不是在表B,它應該存在,如果表B標記「新」
別人,而不是在表A,它應當標註「刪除」
如果出現在兩個表中,應該註明「維持」
我想這樣
DisplayName LastName Diremail Result
==============================================
XXX XXX [email protected] New
ABC ABC [email protected] Delete
DDD DDD [email protected] Maintain
我的代碼,結果如下:
SELECT b.DisplayName,
b.LastName,
b.diremail,
Result = CASE WHEN a.DirEmail IS NULL THEN 'New'
when b.DirEmail IS null then 'delete'
else 'Maintain'
END
FROM vHRIS_StaffDB b
LEFT JOIN HRIS_DL_Lists a
ON a.DirEmail = b.DirEmail
WHERE (
a.DirEmail IS NULL
OR a.DisplayName != b.DisplayName
)
,但數據不正確的代碼不會返回記錄應「刪除」 (表B中發現的,而不是在表)
請注意。謝謝。
聽起來就像你試圖同步兩個數據庫(或兩個數據庫中最少兩個表)。 – jpmc26