寻找SQL查询来显示表中不常见的2个表的数据

时间:2009-04-19 21:07:04

标签: sql

我有两张表具有完全相同的结构。

表MasterList ACCT_ID(9) 名称(25) 地址(35) 市(15) 国家(2) 邮编(5)

表NewMasterList ACCT_ID(9) 名称(25) 地址(35) 市(15) 国家(2) 邮编(5)

我需要一个查询,它将显示每个表中不在BOTH表中的所有记录的Acct_ID和Name。

2 个答案:

答案 0 :(得分:3)

假设acct_ID是主键:

SELECT COALESCE(ml.acct_ID, nml.acct_ID) AS AccountID
     , COALESCE(ml.name, nml.name) AS Name 
FROM MasterList ml
    FULL OUTER JOIN NewMasterList nml ON nml.Acct_ID=ml.Acct_ID
WHERE nml.acct_ID IS NULL OR ml.acct_ID IS NULL

答案 1 :(得分:1)

我认为以下查询应该有所帮助 -

select Acct_id,Name 
from MasterList 
where Acct_id not in (select distinct Acct_id from NewMasterList) 

union 

select Acct_id,Name 
from NewMasterList 
where Acct_id not in (select distinct Acct_id from MasterList)

欢呼声