pl / sql排除连接有两个条件

时间:2012-06-15 00:51:19

标签: sql join oracle11g

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

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) 

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

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

1 个答案:

答案 0 :(得分: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 )

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