0
我有兩個表具有完全相同的結構。尋找SQL查詢來顯示兩個表之間的數據不是在表之間共用的
表MasterList ACCT_ID(9) 名稱(25) 地址(35) 市(15) 狀態(2) 郵編(5)
和
表NewMasterList ACCT_ID( 9) 名稱(25) 地址(35) 市(15) 狀態(2) 郵編(5)
我需要一個查詢來顯示每個表中不在兩個表中的所有記錄的Acct_ID和Name。
我有兩個表具有完全相同的結構。尋找SQL查詢來顯示兩個表之間的數據不是在表之間共用的
表MasterList ACCT_ID(9) 名稱(25) 地址(35) 市(15) 狀態(2) 郵編(5)
和
表NewMasterList ACCT_ID( 9) 名稱(25) 地址(35) 市(15) 狀態(2) 郵編(5)
我需要一個查詢來顯示每個表中不在兩個表中的所有記錄的Acct_ID和Name。
我相信下面的查詢應該幫助 -
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)
歡呼
假設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
此查詢工作以及提出的第二個查詢。每個都返回了正確的數據,儘管第二個使用嵌套選擇的聯合在我的級別上更容易理解。 – Keniwan 2009-04-19 23:42:05
這個應該快得多,但這可能並不重要:這是你曾經做過的分析工作。 – 2009-04-20 00:17:02