我正在尝试使用具有相同结构和相关名称的多个表来查询数据库(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值选择 UNION 记录的方法?
注意:n个表的列表可以通过对sysobjects表的查询轻松获得
SELECT Name FROM sysobjects
WHERE Type = 'U'
AND Name LIKE '%$TRANSACTIONS'
ORDER BY Name