使用Minus语句返回结果集

时间:2015-12-17 21:26:08

标签: sql oracle

我正在使用 Oracle SQL Developer ,我需要比较2个表并返回结果集。这个查询很棘手,我无法遇到一个类似于我想要完成的示例。

我试图在下面创建查询但不确定如何继续前进,因为查询具有不同数量的结果列。 有些列相似但不完全,我仍然希望结果集显示第一个查询的记录,因为我只是使用第二个查询来确保没有重复项表。

我基本上会要求用户输入一个数字,在这种情况下为15,第一个查询将返回一个结果集,比如20个记录,然后我需要使用第一个查询中的ORDER来检查第二个查询和然后返回第一组中出现但不出现在第二组中的所有记录。

SELECT MODEL, ORDR, CONSMR, PRODN 
FROM a.Store // db schema
WHERE (MODEL = '15') // No problems on this query

MINUS

SELECT MODEL, ORDR 
FROM newStore 
WHERE ORDR..... // Not sure what should go here

1 个答案:

答案 0 :(得分:5)

你应该使用NOT EXISTS。基本上,这是格式:

SELECT <stuff> FROM Table1
WHERE NOT EXISTS 
  (SELECT 1 FROM Table2
   WHERE Table1.Something = Table2.Something)