PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment créer une table basée sur une requête et des lignes extraites de l'instruction select

Utiliser ST_DumpPoints puis ST_X et ST_Y , par exemple :

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 si vous souhaitez créer le tableau avec les colonnes exactes de votre requête

CREATE TABLE table_name AS
SELECT ST_X(geom),ST_Y(geom) FROM (
  SELECT (ST_DumpPoints(ST_Envelope('your_geometry'))).geom
) j (geom);

Démo :db<>fiddle