本文介绍了如何基于查询和从SELECT语句检索的行创建表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想创建一个包含X
和Y
值的表。X
和Y
的这些值将从ST_Envelope
返回的几何图形中获得。我觉得应该是这样的:create table table_name(
select from ST_X(ST_Envelope(ST_GeomFromText(..))
)
请告诉我如何创建用SELECT-STATEMENT中的值填充的表。
推荐答案
使用ST_DumpPoints
,然后使用ST_X
和ST_Y
,例如:
CREATE TABLE table_name (x numeric, y numeric);
INSERT INTO table_name
SELECT ST_X(geom),ST_Y(geom) FROM (
SELECT (ST_DumpPoints(ST_Envelope('your_geometry'))).geom
) j (geom);
或者如果您想创建与查询列完全相同的表
CREATE TABLE table_name AS
SELECT ST_X(geom),ST_Y(geom) FROM (
SELECT (ST_DumpPoints(ST_Envelope('your_geometry'))).geom
) j (geom);
演示:db<>fiddle
这篇关于如何基于查询和从SELECT语句检索的行创建表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!