Просто на самом деле предположение, но изменение
... '% # trim (SearchCriteria) #%' ИЛИ
PartDescription ...
до
... '% # trim (SearchCriteria) #%' AND
PartDescription ...
редактировать
или вы говорите, что некоторые имеют нулевые значения?
редактировать комментарий
Представьте себе, например, что InletFlange
пусто для вашей части, и пользователь не включил его в свой поиск.
Тогда InletFlange LIKE '#URL.inlet#'
будет сравнивать "" LIKE ""
, что, конечно, верно, поэтому продукт появляется.
Есть много способов решить эту проблему. Например
- По умолчанию для критерия поиска установлено значение "N / A" или что-то еще
- По умолчанию столбец в базе данных аналогичным образом.
- что-то вроде
AND NOT ISNULL(InletFlange,'')==''
для каждого критерия