У меня есть две таблицы, table1 и table2, каждая из которых содержит столбцы, в которых хранятся геометрии postgis. То, что я хочу сделать, это посмотреть, где геометрия, хранящаяся в любой строке таблицы 2, геометрически пересекается с геометрией, хранящейся в любой строке таблицы 1, и обновить столбец подсчета в таблице 1 с количеством пересечений. Поэтому, если у меня есть геометрия в строке 1 таблицы1, которая пересекается с геометриями, хранящимися в 5 строках таблицы2, я хочу сохранить счет 5 в отдельном столбце в первой таблице. Самым сложным для меня является то, что я хочу сделать это для каждой строки столбца 1 одновременно.
У меня есть следующее:
UPDATE circles SET intersectCount = intersectCount + 1 FROM rectangles
WHERE ST_INTERSECTS(cirlces.geom, rectangles.geom);
... который, похоже, не работает. Я не слишком знаком с postgres (или sql в целом), и мне интересно, могу ли я сделать все это в одном утверждении или мне нужно несколько. У меня есть некоторые идеи о том, как бы я сделал это с помощью нескольких операторов (или используя цикл for), но я действительно ищу краткое решение. Любая помощь будет высоко ценится.
Спасибо!