Таблица 1 - это «z_scrapestorm_rentals», а таблица 2 - «pcpao_cols». Они оба имеют адресные столбцы с именами 'address_1_line_trunc' и 'address_one_line' соответственно.
Обе таблицы также имеют столбец с именем 'web_strap', но только в 'pcpao_cols' есть значения в этом столбце, которые не равны нулю.
Я хочу, чтобы эти значения из pcpao_cols.web_strap были скопированы в z_scrapestorm_rentals.web_strap для строк, где z_scrapestorm_rentals.address_1_line_trunc соответствует pcpao_cols.address_one_line.
Для этого я использовал несколько разных запросов, но они либо работают успешно (без ошибок), фактически не обновляя значения, либо я получаю ошибки.
Метод 1:
(без ошибок, и DBeaver сообщает, что 124 строки были обновлены, но столбец 'web_strap' в таблице z_scrapestorm_rentals по-прежнему не содержит значений ... Я знаю, что совпадения существуют, поскольку я могу их успешно запросить, но я просто не могу обновить таблицу.)
UPDATE z_scrapestorm_rentals
SET web_strap = z_scrapestorm_rentals.web_strap
FROM pcpao_cols
WHERE z_scrapestorm_rentals.address_1_line_trunc ILIKE pcpao_cols.address_one_line;
Метод 2:
(синтаксическая ошибка в или около 'SELECT')
UPDATE z_scrapestorm_rentals
SELECT
z_scrapestorm_rentals.*,
pcpao_cols.web_strap
FROM z_scrapestorm_rentals
LEFT JOIN pcpao_cols
ON z_scrapestorm_rentals.address_1_line_trunc = pcpao_cols.address_one_line;
Метод 3:
(ошибка: недопустимая ссылка на запись FROM-caluse для таблицы "z_scrapestorm_rentals" ... Подсказка: есть запись для таблицы "z_scrapestorm_rentals", но на нее нельзя ссылаться из этой части запроса. Позиция 89 )
INSERT INTO z_scrapestorm_rentals (web_strap)
SELECT web_strap
FROM pcpao_cols
WHERE z_scrapestorm_rentals.address_1_line_trunc ILIKE pcpao_cols.address_one_line;
Любая помощь приветствуется.