У меня есть приложение, в котором пользователи могут выбирать различные параметры на странице, а указанный код создает запрос SQL для возврата соответствующих записей.
В этом случае пользователь выбрал:
Существует также автоматическое ограничение, в котором деление возвращаемых записей должно быть в UserDivisions, которое представляет собой переменную, которая выглядит как
Division IS NULL OR Division IN ('1','1.1','1.1.1')
Таким образом, возвращаемые записи должны находиться в одном из перечисленных подразделений или иметь значение NULL в качестве значения.
Мой код в настоящее время обрабатывает эти ограничения отдельно, поэтому окончательный SQL выглядит как
Select top 1000 Division, WoNum, WoType
From WorkOrder
Where (Division IS NULL OR Division IN ('1','1.1','1.1.1'))
AND (Division <> '1')
Этот запрос возвращает все записи с Division = '1.1' и '1.1.1', и он не возвращает ничего в Division '1', как должно, но он также не возвращает никаких записейс Division = Null.
Как мне построить этот запрос, чтобы он также возвращал NULL, и почему указанный выше запрос не возвращает NULL?