使用相同的模式查询多个表

时间:2015-07-23 15:47:53

标签: postgresql

我试图在Postgres数据库中的多个表上运行相同的查询,它们都具有相同的模式。

这个问题:Select from multiple tables without a join? 表明这是可能的,但它们是对表集进行硬编码。

我有另一个查询返回我希望运行主查询的五个特定表。如何使用UNION方法将结果用于此?

简而言之,我希望我的查询在运行查询时将五个特定表(由另一个查询的结果确定)视为一个大表。

据我所知,在许多情况下,与我的情景类似,您只是想合并表格。我不能做到这一点。

1 个答案:

答案 0 :(得分:0)

这样做可以满足您的约束的一种方法是使用table inheritance。简而言之,您需要创建具有相同模式的父表,并且对于要查询的每个子项,您必须ALTER that_table INHERIT parent_table。对父表的任何查询都将查询所有子表。如果您需要在不同情况下查询不同的表,我认为最好的方法是添加一个名为type的列或其他类,并仅查询该表的某些值。