Я пытаюсь запросить базу данных (SQLServer) с несколькими таблицами одинаковой структуры и со связанными именами, т.е.
[TABLE 01 $TRANSACTIONS]
[TABLE 02 $TRANSACTIONS]
...
[TABLE (n) $TRANSACTIONS]
У меня есть запрос, возвращающий нужные записи по одной таблице за раз, и я могу вручную выбрать несколько таблиц с помощью
SELECT {QUERY01} FROM [TABLE 01 $TRANSACTIONS]
UNION
SELECT {QUERY02} FROM [TABLE 02 $TRANSACTIONS]
...
SELECT {QUERY(n)} FROM [TABLE (n) $TRANSACTIONS]
Общий запрос, в который я подставляю нужное имя таблицы, составляет около 200 строк, включая функцию ROWNUMBER () / PARTITION BY, множественные объединения в связанные таблицы и некоторый порядок.
Со временем будут добавлены новые таблицы и n изменится.
Может кто-нибудь предложить способ выбора СОЮЗА записей из всех n таблиц для произвольных значений n ?
Примечание: список таблиц n можно легко получить с помощью запроса к таблице sysobjects
SELECT Name FROM sysobjects
WHERE Type = 'U'
AND Name LIKE '%$TRANSACTIONS'
ORDER BY Name