我目前正在学习SQL的第一门课程并遇到了一些问题。我现在试着解释一下我想做什么。我有这个选择语句,可以正确显示我需要的内容。当我尝试将其转换为UPDATE语句时,我的问题就出现了。
SELECT infobb02.uni+tempbb02.sal
from infobb02 JOIN tempbb02 ON infobb02.empno=tempbb02.empno;
如果不明显我将表infobb02中的uni值添加到表tempbb02中的sal中。我已经尝试了各种各样的东西,让它成为一个永久性的更新,但主要是犯错误
“SQL命令未正确结束”
任何帮助表示赞赏!感谢。
答案 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;