Если у вас очень длинный список таблиц или вам необходимо объединить результаты всех таблиц, например, начиная с Department_
, за которым следует определенная дата или диапазон дат, вам может потребоваться динамическая c SQL за это. Для точного примера, который вы показали в своем вопросе, CTE с запросом объединения может работать:
WITH cte AS (
SELECT * FROM Department_20190101 UNION ALL
SELECT * FROM Department_20190109 UNION ALL
SELECT * FROM Department_20190122 UNION ALL
SELECT * FROM Department_20190129
)
И затем использовать CTE как:
SELECT *
FROM cte;
Это предполагает, что все таблицы имеют идентичные структуры. Кроме того, в качестве дополнительного примечания, если это так, вы можете рассмотреть возможность использования единственной таблицы со столбцом даты, чтобы отличать общие данные.