【发布时间】:2011-09-29 23:07:07
【问题描述】:
我有两个表,table1 和 table2,它们都包含存储 postgis 几何的列。我想要做的是查看存储在 table2 的任何行中的几何与存储在 table1 的任何行中的几何在几何上相交的位置,并用相交的数量更新 table1 中的计数列。因此,如果我在 table1 的第 1 行中有一个几何图形与 table2 中存储在 5 行中的几何图形相交,我想将计数 5 存储在表 1 的单独列中。对我来说棘手的部分是我想同时对第 1 列的每一行执行此操作。
我有以下几点:
UPDATE circles SET intersectCount = intersectCount + 1 FROM rectangles
WHERE ST_INTERSECTS(cirlces.geom, rectangles.geom);
...这似乎不起作用。我对postgres(或一般的sql)不太熟悉,我想知道我是否可以在一个语句中完成这一切,或者我是否需要一些。我对如何使用多个语句(或使用 for 循环)执行此操作有一些想法,但我真的在寻找一个简洁的解决方案。任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
请发布“最终”SQL,您正在发布生成它的代码(危险的是,顺便说一句),这不会添加任何内容,并且更难阅读。
标签: postgresql postgis