Итак, у меня есть простой запрос, который принимает следующие параметры из отчета (код компании и код подразделения) и возвращает список всех элементов, которые находятся в этой компании и в этом подразделении указанной компании.
Теперь я хочу иметь возможность выбрать все подразделения.Таким образом, вместо того, чтобы выбирать компанию одно подразделение одно, вы можете выбрать компанию одно подразделение все.
Итак, я добавил значение в свойства своего кода деления, указав NULL в качестве фактического кода и «All» в качестве имени.
Мой запрос длинный, но здесь самая важная строка
Having Style.Company_Code = @CompanyCode And Style.Division_Code = @DivisionCode
Таким образом, в конце длинного запроса он просто выбирает все строки с указанным кодом компании и подразделения.
Если я поменяю строку на эту (полностью удалив часть подразделения)
Having Style.Company_Code = @CompanyCode
Она работает так, как задумано, показывая все элементы из всех подразделений указанной компании, игнорируя поле разделенияполностью.Однако, очевидно, это устраняет функциональность выбора подразделения.
Так что я изменил строку на эту.
Having Style.Company_Code = @CompanyCode And (Style.Division_Code = @DivisionCode OR @DivisionCode = NULL)
Если я выберу деление, оно будет работать как надо, но если я выберу «ALL» со значением NULL, оно просто ничего не вернет.Что я делаю неправильно?