sql - 从另一个表创建表

标签 sql postgresql postgis

我的数据库中有两个表 (A,B)。 现在我将创建一个新的表 C,它来自与表 B 相同的列。我想将表 B 中的所有数据写入新表 C 中的表 A 内的几何图形!

类似于:

CREATE TABLE "C" (ID2 serial PRIMARY KEY, "geom" geometry, "id" bigint, "Name" varchar, "Feature" int, "ID2" bigint, "Code_1" varchar, "Wert_1" varchar, "Code_2" varchar, "Wert_2" int);

INSERT INTO C (geom)

SELECT ST_Intersection (A.geom, B.geom)

From A, B

结果是一个表格,其中包含相交后​​的几何图形。 此外,我还需要其余数据(id、名称...)

最佳答案

另一种选择是:

CREATE TABLE tableC (LIKE tableB INCLUDING ALL);
INSERT INTO tableC 
SELECT b.* FROM tableB b
  JOIN tableA ON NOT ST_IsEmpty(ST_Intersection (A.geom, B.geom));

这将为您创建所有索引和键。

关于sql - 从另一个表创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42139019/

相关文章:

java - 声明关闭问题后不允许进行任何操作

mysql - 选择特定时期内的所有可用项目

sql - 从加入的(1 到许多)postgresql 接收 1 行

PostgreSQL:如何解决 ST_Intersects 中的 "Could not generate outside point"错误

sql - MS SQL 更新锁定

python - 大型 Sqlite 数据库搜索

postgresql - SQLAlchemy HSTORE 列不覆盖数据库默认值

java - 如何在 java/JDBC 中取消 postgres 查询

postgresql - Postgres 和 PostGis ,无法创建扩展

ruby-on-rails - Rails Postgis 升级问题