使用joins informix更新sql查询

时间:2013-12-29 01:21:31

标签: sql-update inner-join informix

我有一个表table1(id,name,surname,ssn)和一个view1(id,ssn),这里是我的更新子句

update table1 set 
ssn=v.ssn
from table1 t,view v 
where t.id=v.id

但是我得到语法错误sql代码-201,有人知道是什么问题吗?

2 个答案:

答案 0 :(得分:4)

你可以尝试:

UPDATE table1 SET ssn=(SELECT ssn FROM view WHERE table1.id=view.id)

PS你使用奇怪的名字:table1view。他们对这些表/视图中的数据一无所知。我希望这只是针对这个问题。

答案 1 :(得分:2)

您可以使用MERGE语句 但这取决于您使用的Informix引擎版本(此答案工作需要11.50版本)。

查看其他类似问题/答案answer以获取更多信息。

MERGE INTO table1 as t1
USING table2 as t2
   ON t1.ID = t2.ID
WHEN MATCHED THEN UPDATE set (t1.col1, t1.col2) = (t2.col1, t2.col2);