Я работаю над отчетом, который нужно получить
- все сотрудники
- новых дополнений в этом месяце
- новых дополнений в этом году
- прекращений в этом месяце
- прекращение в этом году
Все они разделены по отделам (новые сотрудники отдела маркетинга, новые продажи и т. Д.).
Всего будет около 23 столбцов.
Я использую временную таблицу, заполняя каждое поле обновлением. Вот упрощенный пример того, что я делаю. Таблица сотрудников имеет большинство необходимых значений (hiredate, termdate и т. Д.). На самом деле есть объединение в каждом обновлении и еще несколько условий.
update #tmptbl
set MtdHiresSales = select count(empid) from emp e where e.dept = 012
and hiredate between start_of_month() and getdate()
-- more predicates
set MtdHiresMkting = ...repeat... with e.dept=013
Я уверен, что есть лучший способ, потому что много дублирования кода. Подходят ли временные таблицы в этом случае? Я не уверен, как это можно сделать без него. Есть предложения?