2017-02-15 62 views
0

从MS Access查询设计器开始,我构建了一个到目前为止的工作查询。如何创建“不具有”SQL命令

新的需求来自需要进一步过滤查询结果的地方。

SELECT Sum(0) AS [#], Contacts.COMPANY, Proposals.[PROP NAME], Projects.[START DATE], Projects.DESCRIPTION, Projects.[TOTAL FEE], Projects.[PROJ ID], Contacts.[FULL NAME], Projects.COUNTRY 
FROM (Contacts INNER JOIN Proposals ON Contacts.[CON ID] = Proposals.[CON ID]) INNER JOIN Projects ON Proposals.[PROP ID] = Projects.[PROP ID] 
GROUP BY Contacts.COMPANY, Proposals.[PROP NAME], Projects.[START DATE], Projects.DESCRIPTION, Projects.[TOTAL FEE], Projects.[PROJ ID], Contacts.[FULL NAME], Projects.COUNTRY, Projects.[PROJECT STATUS] 
HAVING ((((Proposals.[PROP NAME]) Like "*" & [forms]![TempUI]![SrchText] & "*")) AND ((Projects.[START DATE]) Between [Forms]![TempUI]![txtRptDateStart] And [Forms]![TempUI]![txtRptDateEnd]) AND ((Projects.[PROJECT STATUS]) Like [forms]![TempUI]![cmb_scope])); 

此查询将筛选基于srchtxt的内容(文本)

记录假设的结果时srchtxt包含单词“火”是这些

Prop Name 
---------- 
Fire Pump repair 
Fire damage repair 
Wall restructure due to building fire 
Fire water pump 
Roof repair due to fire 

现在我需要进一步过滤此排除单词“泵”,因为消防泵是一台机器,并与结构因火灾损坏无关

我试过使用ANDNOT LIKE这样

HAVING ((((Proposals.[PROP NAME]) Like "*" & [forms]![TempUI]![SrchText] & "*") AND ((Proposals.[PROP NAME]) NOT LIKE [forms]![TempUI]![txtRPTexlude])) AND ((Projects.[START DATE]) Between [Forms]![TempUI]![txtRptDateStart] And [Forms]![TempUI]![txtRptDateEnd]) AND ((Projects.[PROJECT STATUS]) Like [forms]![TempUI]![cmb_scope])); 

但它返回任何结果。

任何想法什么是适当的HAVING子句排除结果与单词“泵”的所有记录?

感谢

+0

也许是因为缺少面膜吗? (((Proposals。[PROP NAME])Like“*”&[forms]![TempUI]![SrchText]&“*”)AND((Proposals。[PROP NAME])NOT LIKE“*”& [Forms]![TempUI]![txtRPTexlude]&“*”))AND((Projects。[START DATE])[Forms]![TempUI]![txtRptDateStart]和[Forms]![TempUI]![txtRptDateEnd ])AND((Projects。[PROJECT STATUS])Like“*”&[forms]![TempUI]![cmb_scope]&“*”));' – user5226582

+0

仍然有空结果 – Wayne

+2

所有'having'子句应该实际上在'where'条款中......'having'用于对合计值应用条件。 – JohnHC

回答

0

我不认为有一个“没有” clausel,但你仍然可以尝试使用

SELECT Whatever FROM wherever 
WHERE NOT EXISTS (
    *Select here* 
)