我们正在使用Postgres/PostGis连接来获取通过geoserver发布的数据。
目前查询看起来像这样:
在我们的数据库中,只有有效的shapefile才会被导入到单个表中,因此将UNION ALL部分设置为动态的(循环遍历每个表并创建UNION ALL语句)是有意义的。在标准的Postgres方式中是否有一种方法可以实现这一点,或者我需要编写一个函数,语法会是什么样子?我对SQL还比较陌生。
这些shapefile具有不同的数据结构,只有ogc_fid列和wkb_geometry列始终可用,我们希望将来自数据库的所有表都合并。
目前查询看起来像这样:
SELECT
row_number() over (ORDER BY a.ogc_fid) AS qid, a.wkb_geometry AS geometry
FROM
(
SELECT * FROM test
UNION ALL
SELECT * FROM test1
UNION ALL
SELECT * FROM test2
)a
在我们的数据库中,只有有效的shapefile才会被导入到单个表中,因此将UNION ALL部分设置为动态的(循环遍历每个表并创建UNION ALL语句)是有意义的。在标准的Postgres方式中是否有一种方法可以实现这一点,或者我需要编写一个函数,语法会是什么样子?我对SQL还比较陌生。
这些shapefile具有不同的数据结构,只有ogc_fid列和wkb_geometry列始终可用,我们希望将来自数据库的所有表都合并。