2017-02-15 42 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* 
)