使用连接更新 Redshift 表 [英] Redshift table update with join

查看:20
本文介绍了使用连接更新 Redshift 表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有 3 张桌子 t1、t2 和 t3.
t1 有 2 列-> id1, val1

I have 3 table t1, t2 and t3.
t1 has 2 column-> id1, val1

t2 -> id2, val2  
t3 -> id3, val3  
If id1=id2 and id2 = id3 

然后我需要更新 val1 和 val3.但是我重复了 id1 并且每个都应该有相同的 val3

then I need to update val1 ad val3. But I have repeating id1 and each should have same val3

我正在使用

update  t1
inner join  t2 on t1.id1 = t2.id2
inner join  t3 on t2.id2 = t3.id3
set t1.val1 =  t3.val3
;

但无法做到这一点.

推荐答案

正确的语法是:

更新 table_name SET column = { 表达式 |默认 } [,...]
[来自来自列表]
[ WHERE 条件 ]

UPDATE table_name SET column = { expression | DEFAULT } [,...]
[ FROM fromlist ]
[ WHERE condition ]

所以你的 UPDATE 语句应该如下所示:

So your UPDATE statement should look as follows:

update t1 set val1 = val3
from t2 inner join t3 on t2.id2 = t3.id3
where t1.id1 = t2.id2
;

请参阅 Redshift 文档 及其全面的 UPDATE 示例.

See the Redshift documentation and their comprehensive UPDATE examples.

这篇关于使用连接更新 Redshift 表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆