表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匹配的行。
我使用了一些不同的查询来执行此操作,但是它们似乎在没有实际更新任何值的情况下成功运行(没有错误),或者出现错误。
(没有错误,DBeaver说已更新了124行,但是z_scrapestorm_rentals表中的’web_strap’列中仍然没有任何值…我知道存在匹配项,因为我可以成功查询它们,但似乎无法更新表格。)
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;
(“ 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;
(错误:对表“ z_scrapestorm_rentals”的FROM-caluse条目的引用无效……提示:表“ 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;
任何帮助表示赞赏。
好的,我回答了自己的问题,并web_strap使用以下查询将另一个表中的值插入到目标表中:
web_strap
UPDATE z_scrapestorm_rentals SET web_strap = pcpao_cols.web_strap FROM pcpao_cols WHERE Z_scrapestorm_rentals.address_1_line_trunc ILIKE pcpao_cols.address_one_line RETURNING pcpao_cols.web_strap;
我在问题的“方法1”中详细说明的原始查询中缺少的是RETURNING关键字。
RETURNING