表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;
感谢您的帮助。
答案 0 :(得分:0)
好的,所以我回答了我自己的问题,并使用以下查询将另一个表中的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
关键字。