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 и вставить туда значения из другой таблицы по пересечению с геометрией?
Буду благодарен за любую помощь, может кто подкинет нужную ссылку на подобные задачи