Jam*_*086 5 sql t-sql union-all
我有 600 个表要执行UNION ALL查询。不幸的是,每个表中列的顺序各不相同,但它们始终具有相同的名称 - 例如:
表格1
Item, Cost, ID, Code, Location
Run Code Online (Sandbox Code Playgroud)
表2
Cost, Id, Code, Location, Item
Run Code Online (Sandbox Code Playgroud)
表3
Id, Code, Cost, Item, Location
Run Code Online (Sandbox Code Playgroud)
有没有办法编写联合查询,使其匹配列名,而不管原始表中的顺序如何?
唉,不。 UNION ALL按位置而不是按名称。但是,您可以生成列:
select string_agg(column_name, ', ')
from information_schema.columns
where table_name = ? and
table_schema = ?;
Run Code Online (Sandbox Code Playgroud)
然后您可以将该列表插入到您的代码中。