Отредактированный ответ
Это, вероятно, не очень хорошая идея.Просто разделите его на 2 отдельных запроса, чтобы избежать ненужных операций сортировки с одним размером, подходящим для всех запросов.
Вы можете поместить большую часть запроса, выполняющего объединения в таблицы o
, jd
, ol
(без GROUP BY
), в представление, чтобы избежать необходимости повторять это.
Оригинальный ответ
(при условии, что 2 столбца имеют совместимые типы данных)
select o.organization_name,
ol.org_level_name,
work_date,
code_or_dept
FROM ...
CROSS APPLY (SELECT CASE
WHEN @org_level_type = 'Department' THEN
jd.job_code
ELSE jd.job_department_id
END AS code_or_dept) c
GROUP BY o.organization_name,
ol.org_level_name,
work_date,
code_or_dept