2015-11-10 94 views
-1

我有2個表格T1.T1badge在表格1中可能與表格2或T1中的T2.OldBadge或T2.New_Badge相匹配.T1badge可能不匹配T2中的任何一個字段需要那些不匹配的字段表2中的字段。SQL查詢一對多不匹配

這就是我運行它,但不工作提供空值記錄。

SELECT T1.T1USERID, T1.T1USER, T1.T1badge, T2.CC INTO NewTable_NoCC 
FROM T1, T2 
WHERE (((T2.[NEW_ID])=[T1].[T1badge])) OR (((T2.OldBadge)=[T1].[T1badge])) 
AND (T2.CC IS NULL); 
+0

我應該說我在Access中使用SQL – Roxie

+0

查看左/右連接是如何工作的。這是一種從一側拉取所有記錄的方法,即使它們不匹配。 – durbnpoisn

+0

很難猜出你的願望結果。 –

回答

0

首先刪除進去看看這是否返回你想要的數據。

然後使用左連接並檢查括號。很難測試訪問查詢。

SELECT T1.T1USERID, T1.T1USER, T1.T1badge, T2.CC 
FROM T1 
LEFT JOIN T2 
     ON (((T2.[NEW_ID])=[T1].[T1badge])) 
      OR (((T2.OldBadge)=[T1].[T1badge])) 
WHERE (T2.CC IS NULL); 
0
SELECT T1.T1USERID, T1.T1USER, T1.T1badge, T2.CC 
INTO NewTable_NoCC 
FROM T1 
     LEFT JOIN T2 ON T1.T1BADGE IN (T2.NEW_ID, T2.OLDBADGE) 
WHERE T2.CC IS NULL 

左連接的關鍵是這個查詢。

+0

感謝您的幫助,我弄清楚了左連接是關鍵。 – Roxie