@AXE_T

Как объединить большое количество таблиц?

Здравствуйте! Помогите решить проблему.
У меня 70 таблиц (каждая таблица относится к одному магазину). Всего 70 магазинов. В каждой из них есть следующие поля: код товара, название товара, количество товара, цена и т.д. Мне необходимо написать процедуру, которая будет объединять все таблицы, чтобы можно было сделать запрос, например, выводящий все товары из всех таблиц и их цены.
Я могу, конечно, соединить их все через UNION, но я бы предпочёл запрос с использованием списка всех таблиц, что-то вроде этого:
SELECT название товара, цена FROM (
SELECT name FROM sys.tables
WHERE name LIKE '...%' OR name LIKE '...%' ...)

Как, в принципе, работать с таким большим количеством таблиц?
Заранее благодарю за помощь!
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
unfilled
@unfilled
dynamic-sql: собираете текст запроса в nvarchar(max) и выполняете его через exec / sp_executesql. Легко накосячить и легко получить SQL-Injection.

Возможно, проще будет один раз руками собрать вьюху (прописать все UNION/UNION ALL) и работать потом с ней.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы