Я использую SQL Server 2016 и у меня есть следующий код в моем запросе:состояние фильтра не работает должным образом в моем T-SQL запрос
AND NOT (f.Name = 'ABC Ltd' and a.PackagePlanCode like 'CO%' and c.PropertyCode = 'BIC')
мне нужно все условия, чтобы стоять. То есть, f.Name должен быть равен «ABC Ltd», а a.PackagePlanCode ДОЛЖЕН начинаться с «CO ...», а PropertyCode ДОЛЖЕН быть «BIC».
Я вижу беспорядочное поведение в моем запросе с указанной выше строкой кода. Время, даже если 2 из условий соответствуют, оно исключает эту запись.
У меня есть запись в моей базе данных, которая имеет следующее:
Name = XYZ Ltd
PackagePlanCode = COHb
PropertyCode = BIC
выше записи не должны были исключены из моего результирующего набора, поскольку он имеет только 2 критерия (а именно PackagePlanCode и PropertyCode), которые соответствуют моему фильтру, и все же он исключен из набора результатов.
Есть ли лучший способ написать этот код, чтобы я был уверен, что он исключает записи, которые соответствуют только всем 3 условиям, упомянутым в нем?
В скопированного кода, есть "AND NOT" перед скобками. Таким образом, это полностью изменяет логику предложения WHERE. Почему бы вам не удалить все это. Только внутри круглых скобок после WHERE – Eralper
У меня есть другие условия, которые существуют после моего предложения WHERE. Это всего лишь один из них, и здесь я исключаю записи, соответствующие этим трем критериям. – user3115933
И вы имеете в виду, что в наборе результатов есть строки, соответствующие этим критериям? Может ли это быть проблемой сопоставления, varchar или nvarchar? – Eralper