У меня есть некоторые значения параметров в SSRS, и я заполняю набор данных на основе этих параметров. Однако у меня есть один параметр с именем Employee с именем сотрудника и значениями кода. Первое значение этого Employee - «ALL», так что когдапользователь нажимает ВСЕ, отображаются все данные о сотруднике.
Я хочу изменить свой запрос на основе значения сотрудника, т. Е. Если это «ВСЕ», это другое условие «где», а для кодов сотрудников другое условие «где»
Я проверил похожие вопросыв stackoverflow они говорят, что используют условие If, но я подключаюсь к AS400, и если условие не принимается в конструкторе запросов.
Проблема заключается в этой части моего запроса, SLSMCD - это код продавца.Этот запрос работает для ВСЕХ условий (т.е. для всех сотрудников)
(SLSMCD IN
(SELECT WEMEMCD
FROM VHTEMPL VHTEMPL_1
WHERE (WEMEMCD = ?) OR
(WEMTLCD = ?) OR
(WEMGLCD = ?) OR
(WEMBHCD = ?) OR
(WEMTCMCD = ?) OR
(WEMGCMCD = ?) OR
(WEMBCMCD = ?) OR
(WEMHOTLCD = ?) OR
(WEMHOGLCD = ?) OR
(WEMHHODCD = ?) OR
(WEMGHODCD = ?)))
Теперь для отдельного сотрудника запрос должен быть
(SLSMCD IN
(SELECT WEMEMCD FROM VHTEMPL VHTEMPL_1 WHERE (WEMEMCD = ?)
Я пытался использовать условия И и ИЛИ, группирующие вещи с ().Например,
(SLSMCD IN (SELECT WEMEMCD FROM VHTEMPL VHTEMPL_1
WHERE (WEMEMCD = ? and ? <> 'ALL')
Но SSRS автоматически удаляет () и делает его похожим на (WEMEMCD =?) И (? <> 'ALL)