微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – 带连接的Redshift表更新

我有3个表t1,t2和t3.
t1有2列 – > id1,val1
t2 -> id2,val2  
t3 -> id3,val3  
If id1=id2 and id2 = id3

然后我需要更新val1 ad val3.
但我重复id1,每个都应该有相同的val3

我在用

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

但是不能这样做.

正确的语法是:

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

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

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

请参阅Redshift documentation及其综合UPDATE examples.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐