Есть ли способ написать запрос, например:
select * from <some number of tables>
..., где количество таблиц неизвестно?Я хотел бы избежать использования динамического SQL.Я хотел бы выбрать все строки из всех таблиц, которые (таблицы) имеют определенный префикс:
select * from t1
select * from t2
select * from t3
...
Я не знаю, сколько может быть t(n)
(может быть 1, может быть20 и т. Д.) Структуры столбцов таблицы t
не совпадают.Некоторые из них имеют 2 столбца, а некоторые - 3 или 4.
Использование динамического SQL не составит труда, но я хотел бы знать, есть ли способ сделать это, используя что-то вроде sys.tables
.
ОБНОВЛЕНИЕ
Объяснение базового дизайна базы данных
N компаний зарегистрируют / войдут в мое приложение
Каждая компания настроит ОДИНтаблица с x столбцами
(x зависит от вида бизнеса, которым занимается компания, может быть разным, например, рассмотрим две компании: одна - плотник, а другая - газета)
Каждая компания заполняет свою собственную таблицу, используя созданный мной API
Что я делаю с данными:
У меня есть «процессор», который будет SQL или C # или любым другим.
Если для одной компании будет хотя бы одна строка, я сгенерирую запись в ОБЩЕЙ таблице.
Так что окончательные результаты будут все в одной таблице.
Кто-нибудь излюбая из этих N компаний войдет в систему и увидит, что ОБЩАЯ таблица отфильтрована по егоРусская компания.