首页 > 解决方案 > 新表的 Postgres Where 语句

问题描述

我有一个 Postgres 数据库。在这个数据库中有一个带有多边形的表。命名为:dg_mm_polygons。

我创建了一个 Select 和 WHERE 查询:

SELECT * FROM dg_geodata.dg_mm_polygons WHERE OFFSHORE = 2;

如果我执行它,它会按我的意愿工作。我想让表 dg_geodata.dg_mm_polygons 保持原样。

我的问题:我想创建/获取一个新表 dg_geodata.dg_mm_polygons_2。如果数据保存在 dg_geodata.dg_mm_polygons 中,则需要将数据提供/获取到表 dg_geodata.dg_mm_polygons_2。

是否有可能做到这一点?

标签: postgresql

解决方案


听起来您想创建一个视图 dg_geodata.dg_mm_polygons_2 仅包含来自 dg_geodata.dg_mm_polygons 的数据子集

 create view dg_geodata.dg_mm_polygons_2 as 
 select * 
 from dg_geodata.dg_mm_polygons 
 WHERE OFFSHORE = 2;

这将确保只有离岸 = 2 的值显示在 dg_geodata.dg_mm_polygons_2 中。不过要小心,您也可以像从原始表中一样从视图中插入更新/删除。


推荐阅读