我有带“id”和“line geometry”列(“geom_line”)的“table1”。我想创建“table2”,而它是通过选择多边形内的所有行来填充的。我写了以下代码。请大家纠正一下好吗?

SELECT id, ST_Intersection(ST_GeomFromText('POLYGON((443425 4427680, 441353 4427680, 441368 4426075, 443762 4426149, 443425 4427680))', 32650)
, geom_line)
    FROM trajectory where geom_line IS NOT null

进入表2
从我的数据库

最佳答案

基于select创建表是在标准SQL中使用create table ... as select ...完成的,Postgres也支持这一点:

create table table2
as
SELECT id, ST_Intersection(ST_GeomFromText('POLYGON((443425 4427680, 441353 4427680, 441368 4426075, 443762 4426149, 443425 4427680))', 32650)    , geom_line)
FROM trajectory
where geom_line IS NOT null

手册中的更多信息:
http://www.postgresql.org/docs/current/static/sql-createtableas.html

关于sql - 如何从选择查询创建表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32204873/

10-12 03:50