我在Mysql中有这个查询:
UPDATE table1 AS a
JOIN table2 AS b ON a.code=b.code
AND b.rating < 3
SET a.Status = 'Delisted';
在Vertica中使用它时,我收到错误:'JOIN'或附近的语法错误 请有人帮忙吗。提前致谢
答案 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允许更新。 我希望这有用。