使用另一个表中的列更新列

时间:2018-01-30 18:21:03

标签: sql postgresql join sql-update

尽管研究了其他帖子,我还是无法解决无法使用其他表中的列更新表的问题。

update tab t1
set x1 = (select cast(x1 || '-' || x2 as char(9)) as x3 from tab t2 );

我收到以下错误:

  

用作表达式

的子查询返回的多行

但我不确定如何解决这个错误。有什么提示吗?

1 个答案:

答案 0 :(得分:1)

假设两个元组之间存在一对一的关系,两者都有一列y1。

update t1
   set x1 = (select cast(x1 || '-' || x2 as char(9)) as x3
               from t2
               where t2.y1 = t1.y1);