使用Minus语句返回结果集



我正在使用Oracle SQL Developer,我需要比较两个表并返回结果集。这个问题很棘手,我还没能找到一个与我试图完成的任务类似的例子。

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

我基本上会向用户询问一个数字,在这种情况下是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

您应该使用NOT EXISTS。基本上,以下是格式:

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

最新更新