Sql 除了在Access中使用单个表外,正在复制
我有一张这样的桌子:Sql 除了在Access中使用单个表外,正在复制,sql,ms-access,Sql,Ms Access,我有一张这样的桌子: tblCase +--------+---------------------+------------+ | CaseID | Reference | ListID | +--------+---------------------+------------+ | 1 | A | 101 | +--------+---------------------+------------+ |
tblCase
+--------+---------------------+------------+
| CaseID | Reference | ListID |
+--------+---------------------+------------+
| 1 | A | 101 |
+--------+---------------------+------------+
| 2 | B | 101 |
+--------+---------------------+------------+
| 3 | A | 102 |
+--------+---------------------+------------+
| 4 | B | 102 |
+--------+---------------------+------------+
| 5 | C | 102 |
+--------+---------------------+------------+
我正在尝试编写一个查询,该查询只返回listidx中但不在listidy中的引用
例如,对于这个数据,我比较列表ID 101和列表ID 102,只返回引用C,因为引用C只在列表ID 102中找到
差不多
SELECT Reference FROM tblCase WHERE ListID = 102
EXCEPT
SELECT Reference FROM tblCase WHERE ListID = 101
但是Except在Access中不起作用,我不确定在这种情况下如何复制它。我已经找到了其他类似的问题的答案,但未能成功地根据我的情况调整答案
谢谢
编辑:使用SylvainL的建议解决。感谢您的帮助:)一个简单的方法是使用notexists()语句;比如:
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向自身使用左连接并查找空值