从另一个中减去一个查询

时间:2011-02-07 20:48:20

标签: ms-access

任何人都可以告诉我如何从另一个查询中减去查询

strNewSql4 = "SELECT tblRevRelLog_Detail.PartNumber, tblRevRelLog_Detail.ChangeLevel    FROM tblRevRelLog_Detail"
  strNewSql4 = strNewSql4 & " WHERE tblRevRelLog_Detail.RevRelTrackingNumber = """ & tempTrackingNumber & """;"

   strNewSql3 = "SELECT tblEventLog.PartNumber FROM tblEventLog WHERE tblEventLog.EventTypeSelected = 'pn REMOVED From Wrapper'AND tblEventLog.TrackingNumber = """ & tempTrackingNumber & """"

我希望strNewSql4的结果 - strNewSql3为strNewSql1

2 个答案:

答案 0 :(得分:1)

您可以在合适的字段上创建子查询并LEFT JOIN,选择具有所选字段的Null值的值。

答案 1 :(得分:0)

有几种不同的方式来表达此查询,例如连接,或使用“NOT IN”与子查询,但是基于您的问题中给出的信息的最佳选择可能是使用“NOT EXISTS” “,如下:

SELECT tblRevRelLog_Detail.PartNumber, tblRevRelLog_Detail.ChangeLevel
FROM tblRevRelLog_Detail
WHERE tblRevRelLog_Detail.RevRelTrackingNumber = """ & tempTrackingNumber & """
AND NOT EXISTS (SELECT * FROM tblEventLog
                 WHERE tblEventLog.PartNumber = tblRevRelLog_Detail.PartNumber
                   AND tblEventLog.TrackingNumber =
                       tblRevRelLog_Detail.RevRelTrackingNumber
                   AND tblEventLog.EventTypeSelected = 'pn REMOVED From Wrapper')