0

当我运行以下代码时,如果行具有(相同的工具和相同的配方),我想排除加入

select a.tool, a.recipe
from dual a
where a.tool NOT IN (select b.tool from daul2 b)
and a.recipe NOT IN (select b.recipe from dual2 b) 

它首先过滤工具然后是配方,但我希望程序同时检查它。

有没有办法同时检查两列?

4

1 回答 1

3

我不完全确定我明白你在问什么。我的猜测是你想要

SELECT a.tool, a.recipe
  FROM table1 a
 WHERE (a.tool, a.recipe) NOT IN (SELECT b.tool, b.recipe
                                    FROM table2 b)

或者

SELECT a.tool, a.recipe
  FROM table1 a
 WHERE NOT EXISTS( SELECT 1
                     FROM table2 b
                    WHERE a.tool = b.tool 
                      AND a.recipe = b.recipe )

如果这不是您想要的,您能否发布一些示例数据并解释您要排除和包含的内容?

于 2012-06-15T01:01:36.413 回答