2014-10-04 26 views
0

訪問我的結構像這樣的表:複製除非在一個表

tblCase 
+--------+---------------------+------------+ 
| CaseID | Reference   | ListID  | 
+--------+---------------------+------------+ 
| 1  | A     | 101  | 
+--------+---------------------+------------+ 
| 2  | B     | 101  | 
+--------+---------------------+------------+ 
| 3  | A     | 102  | 
+--------+---------------------+------------+ 
| 4  | B     | 102  | 
+--------+---------------------+------------+ 
| 5  | C     | 102  | 
+--------+---------------------+------------+ 

我試圖寫一個返回只有在ListID X,但不是ListIDŸ引用查詢。

因此,例如,與該數據,我比較列表ID 101和列表ID 102,並且僅返回參考C,因爲參考C被發現,只有在ListID 102

喜歡的東西

SELECT Reference FROM tblCase WHERE ListID = 102 
EXCEPT 
SELECT Reference FROM tblCase WHERE ListID = 101 

但在Access中不起作用,我不確定如何在這種情況下複製它。我發現了其他類似的問題,但未能成功解決我的問題。

謝謝

編輯:解決使用SylvainL的建議。感謝您的幫助:)

回答

2

一個簡單的方法是使用Not Exists()語句;像這樣:

Select Reference from MyTable t1 
Where ListId = 102 and 
    Not Exists (Select * from MyTable t2 where t2.Reference = t1.Reference and T2.ListId = 101) 

使用一個左從MyTable加入自己並尋找空值是另一種解決方案。

相關問題