gpt4 book ai didi

postgresql - 从 Redshift 中的现有表更新

转载 作者:行者123 更新时间:2023-11-29 12:26:37 25 4
gpt4 key购买 nike

我想根据其他表的结果更新 Redshift 表中的值,我正在尝试运行以下查询但收到错误。

update section_translate
set word=t.section_type
from (
select distinct section_type from mr_usage where section_type like '%sディスコ')t
where word = '80sディスコ'

我收到的错误:

ERROR: Target table must be part of an equijoin predicate

无法理解我的查询中有什么不正确的地方。

最佳答案

需要将不相关的子查询转为相关的子查询,

update section_translate
set word=t.section_type
from (
select distinct section_type,'80sディスコ' as word from mr_usage where section_type like '%sディスコ')t
where section_translate.word = t.word

否则,外部查询的每条记录都符合更新条件,查询引擎将拒绝它。 Postgre(以及 Redshift)评估不相关子查询的方式与 SQL Server/Oracle 等略有不同。

关于postgresql - 从 Redshift 中的现有表更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32965599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com