SQL Query进行比较

时间:2009-12-15 17:08:40

标签: sql ms-access list compare

我正在开发一个Access数据库,在其中我需要提取几个报告。对于其中一个,我需要比较两个数字列表,List1和List2(我从两个单独的查询得到)并且只显示List1中但不在List2中的那些数字。

有人可以帮忙吗? 谢谢。

4 个答案:

答案 0 :(得分:3)

其他人在SQL中提供了一些很好的答案,但您可能希望使用Access的一些内置功能。<​​/ p>

当我在查询屏幕中时(在Access XP / 2002中,但对于Access 2003应该是相同的),我可以单击New,然后有一个Find Unmatched Query Wizard选项。这将引导您完成一系列对话框,帮助您设置要查找的查询。在完成此向导之前,您需要已经定义了“List1”和“List2”(来自您的示例)。

完成此设置后,您将能够看到Access如何创建查询,这是一种很好的学习方式。

答案 1 :(得分:2)

您可以使用LEFT OUTER JOIN

执行此操作
SELECT T1.val
FROM table1 T1
LEFT OUTER JOIN table2 T2 ON T1.Val = T2.Val
WHERE T2.VAL IS NULL;

答案 2 :(得分:1)

SELECT some_value
FROM table1
WHERE some_value not in ( select some_value from table2);

答案 3 :(得分:0)

SELECT  *
FROM    (
        SELECT  number
        FROM    …
        ) query1
WHERE   query1.number NOT IN
        (
        SELECT  number
        FROM    …
        ) /* query2 */