【发布时间】:2018-01-10 19:28:57
【问题描述】:
我正在尝试使用内部联接从另一个表更新 Redshift 中的一个表。
查询:
UPDATE target
INNER JOIN updates ON target.name = updates.name and target.title = updates.title and target.age = updates.age
SET target.num_hit_ratio = updates.num_hit_ratio, target.plan_id = updates.plan_id;
这是报错:
“INNER”处或附近的语法错误
我在哪里犯错了?
【问题讨论】:
-
这是一个基于 postgres 的红移查询
-
更新语句中没有
inner join。详情见the manual -
您可能正在寻找“更新自”语法。从源 x 更新目标集 target.x=xyz.x where target.id=x.target_id etc.
-
如上所述,这在文档中有介绍。例如。
UPDATE target SET ... FROM updates WHERE target.name = updates.name and target.title = updates.title and target.age = updates.age -
是的。 UPDATE 不支持 INNER Join。谢谢它的工作
标签: sql sql-update inner-join amazon-redshift