如何在另一个表中的一个表中设置列数据Amazon Redshift

时间:2018-08-08 10:10:22

标签: sql postgresql amazon-redshift

我有一个用例,其中有一个表'a',该表具有与表'b'相同的列。我想要的是:对于同时在'a'和'b'中的所有行,我希望'a'的列'x'的值与'b'相同。

这是我要尝试的,但我一直陷于困境:

UPDATE a 
   SET a.x = b.x 
   FROM b  INNER JOIN  a  ON a.id = b.id;

出现错误:

[Amazon](500310) Invalid operation: table name "a" specified more than once;

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

您几乎可以使用下面的查询

   UPDATE a 
   SET x = b.x 
   FROM b 
   where 
   a.id = b.id;

答案 1 :(得分:0)

UPDATE a
   SET x = b.x
   FROM b
   where a.id = b.id;

这最终为我工作