2009-04-19 62 views
0

我有兩個表具有完全相同的結構。尋找SQL查詢來顯示兩個表之間的數據不是在表之間共用的

表MasterList ACCT_ID(9) 名稱(25) 地址(35) 市(15) 狀態(2) 郵編(5)

表NewMasterList ACCT_ID( 9) 名稱(25) 地址(35) 市(15) 狀態(2) 郵編(5)

我需要一個查詢來顯示每個表中不在兩個表中的所有記錄的Acct_ID和Name。

回答

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) 

歡呼

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 
+0

此查詢工作以及提出的第二個查詢。每個都返回了正確的數據,儘管第二個使用嵌套選擇的聯合在我的級別上更容易理解。 – Keniwan 2009-04-19 23:42:05

+0

這個應該快得多,但這可能並不重要:這是你曾經做過的分析工作。 – 2009-04-20 00:17:02