开始SQL - 从单独的表中将一列的值添加到另一列

时间:2015-07-21 00:57:12

标签: sql oracle

我目前正在学习SQL的第一门课程并遇到了一些问题。我现在试着解释一下我想做什么。我有这个选择语句,可以正确显示我需要的内容。当我尝试将其转换为UPDATE语句时,我的问题就出现了。

SELECT infobb02.uni+tempbb02.sal
from infobb02 JOIN tempbb02 ON infobb02.empno=tempbb02.empno;

如果不明显我将表infobb02中的uni值添加到表tempbb02中的sal中。我已经尝试了各种各样的东西,让它成为一个永久性的更新,但主要是犯错误

  

“SQL命令未正确结束”

任何帮助表示赞赏!感谢。

2 个答案:

答案 0 :(得分:1)

假设您的查询是:

SELECT i.uni + t.sal
FROM infobb02 i JOIN
     tempbb02 t
     ON i.empno = t.empno;

如果您想更新tempbb02,请:

update tempbb02 t
    set t.sal = t.sal +
                (select i.uni from infobb02 i where i.empno = t.empno)
    where exists (select 1 from infobb02 i where i.empno = t.empno);

答案 1 :(得分:0)

您可以使用MERGE:

,而不是使用UPDATE语句
merge into tempbb02 tgt
using infobb02 src
  on (tgt.empno = src.empno)
when matched then
update set tgt.sal = tgt.sal + src.uni;