如何根据查询和从 select 语句检索的行创建 table
How to create a table based on a query and rows retrieved from select statement
我想创建一个包含 X
和 Y
值的 table。 X
和 Y
的这些值将从 ST_Envelope
返回的几何中获得。
我认为它应该类似于以下内容:
create table table_name(
select from ST_X(ST_Envelope(ST_GeomFromText(..))
)
请告诉我如何创建一个 table 来填充 select-语句中的值。
使用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);
或者,如果您想使用查询的确切列创建 table
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
我想创建一个包含 X
和 Y
值的 table。 X
和 Y
的这些值将从 ST_Envelope
返回的几何中获得。
我认为它应该类似于以下内容:
create table table_name(
select from ST_X(ST_Envelope(ST_GeomFromText(..))
)
请告诉我如何创建一个 table 来填充 select-语句中的值。
使用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);
或者,如果您想使用查询的确切列创建 table
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