如何在与其他表连接时使用固定值更新vertica中的表?

时间:2015-02-04 10:42:35

标签: vertica

我在Mysql中有这个查询:

UPDATE table1 AS a
JOIN table2  AS b ON a.code=b.code
AND b.rating < 3
SET a.Status = 'Delisted';

在Vertica中使用它时,我收到错误:'JOIN'或附近的语法错误 请有人帮忙吗。提前致谢

2 个答案:

答案 0 :(得分:4)

试试这个(没有JOIN,Vertica足够聪明):

update table1 as a set status = 'delisted'
  from table2 as b
  where a.code = b.code and b.rating < 3;

有关详细信息,请参阅here

答案 1 :(得分:0)

在Vertica语法略有不同,您必须使用 EXISTS 语句

UPDATE table1
   SET Status = 'Delisted'
 WHERE EXISTS (select *
          from table1 a
          JOIN table2 b ON a.code = b.code
                       AND b.rating < 3);

On JOINS允许更新。 我希望这有用。