小编chk*_*ser的帖子

如何使用ST_Intersects更新Postgis中的表

我在postgis中有一两个桌子。一个是Bank(即点),另一个是IndiaState(是多边形)。这两个表都有一个名为State的列。对于Bank state列为空,而IndiaState表中的state列具有州名。我想使用ST_Intersects填充Bank表中的状态列。我可以选择属于特定状态的银行积分

select ST_Intersection("IndiaState".geom, TN_Bank.geom) as inter
"Bank_Name", "Lat"
from "IndiaState" INNER JOIN TN_Bank ON ST_Intersects("IndiaState".geom, TN_Bank.geom)
where "IndiaState".state='KERALA'
Run Code Online (Sandbox Code Playgroud)

上面的sql返回正确的66行。

但是更新命令无法正常工作

update TN_Bank set "State"='KERALA' from 
(select ST_Intersection("IndiaState".geom, TN_Bank.geom) as inter
"Bank_Name", "Lat"
from "IndiaState" INNER JOIN TN_Bank ON ST_Intersects("IndiaState".geom, TN_Bank.geom)
where "IndiaState".state='KERALA')x
Run Code Online (Sandbox Code Playgroud)

它正在更新Bank表中的所有行。请帮助。

postgresql postgis

1
推荐指数
1
解决办法
2716
查看次数

标签 统计

postgis ×1

postgresql ×1