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
現在我需要進一步過濾此排除單詞「泵」,因爲消防泵是一臺機器,並與結構因火災損壞無關
我試過使用AND
NOT 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子句排除結果與單詞「泵」的所有記錄?
感謝
也許是因爲缺少面膜嗎? (((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
仍然有空結果 – Wayne
所有'having'子句應該實際上在'where'條款中......'having'用於對合計值應用條件。 – JohnHC