Используя PostGIS, у меня есть две таблицы, первая содержит границу 250 городов, а вторая содержит границу всей страны в мире.
Я пытаюсь повлиять на каждый город страны, в которой он находится.принадлежит.Следующий запрос позволяет мне получить желаемый результат.
SELECT DISTINCT ON (cities.id) cities.id, country.id
FROM cities
LEFT JOIN country ON st_intersects(country.geom, cities.geom)
Но когда я использую этот запрос:
UPDATE cities
SET country_id=subq.id
FROM (SELECT DISTINCT ON (cities.id) country.id
FROM cities
LEFT JOIN country ON st_intersects(country.geom, cities.geom)) AS subq
Столбец country_id заполнен тем же номером.
Что я упустил при использовании синтаксиса UPDATE FROM?