PostgreSQL, postgis отображение данных в представлении по пересечению геометрии

У меня две таблицы с геометрией и я стараюсь создать представление в postgresql.

Первая таблица с полигонами имеет структуру – gid, geom, name.

Вторая таблица с точками имеет структуру – gid, geom, name.

Мне необходимо выполнить задачу – если в таблице 1 поле name имеет какое-либо значение, то оставляем текущее значение, если поле name в таблице 1 содержит null, то необходимо вставить name из таблицы 2 по пересечению геометрии (по признаку, что полигон таблицы 1 пространственно содержит точку таблицы 2).

Сейчас я использую следующий код запроса:

SELECT t1.gid,

t1.geom,

t1.name

FROM test.table1 t1

WHERE t1.name in (SELECT t2.name FROM test.table2 t2 WHERE 
st_contains (t1.geom, t2.geom));

Как более корректно отфильтровать поле с именем по значениям с null и вставить туда значения из другой таблицы по пересечению с геометрией?

Буду благодарен за любую помощь, может кто подкинет нужную ссылку на подобные задачи


Ответы (0 шт):