首页 > 解决方案 > PostgreSQL - 基于列数的表联合

问题描述

我在 PostgreSQL 中工作,我想联合一个名为“postgres”的数据库的所有具有 11 列的表。

提到的表的列表,我通过以下查询得到它。

with  
completo_tablas as (
select column_name, table_name from information_schema.columns
where table_schema='public'
)
--,tablas as (
select table_name--, count(column_name)
from completo_tablas
group by table_name
having count(column_name)=11
--)

获得,类似于:

Table_name
--------------  
table1  
table2  
.  
.  
.  

我无法解决的问题是在特定日期没有获得具有 11 列的表的 UNION;我知道我可以做的不仅仅是复制表名,例如:

Select * from tabla1 UNION select * from tabla2 UNION Sel....

鉴于我们业务的性质,桌子的数量将随着时间的推移而增加。

由于我们业务的性质,我想要的是一个“动态”查询,其中我没有在 UNION 查询中手动设置的表的名称。

但是你总能得到的东西,所有表的联合与 11 列

感谢您的时间。

标签: sqlpostgresqlunioninformation-schema

解决方案


推荐阅读