PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como criar uma tabela com base em uma consulta e linhas recuperadas da instrução select


Use ST_DumpPoints e então ST_X e ST_Y , por exemplo.:
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);

Ou se você quiser criar a tabela com as colunas exatas da sua consulta
CREATE TABLE table_name AS
SELECT ST_X(geom),ST_Y(geom) FROM (
  SELECT (ST_DumpPoints(ST_Envelope('your_geometry'))).geom
) j (geom);

Demonstração:db<>fiddle