0
我正在使用DB2,并且是SQL中的初学者。我这里有两个表:DB2的UPDATE JOIN语句
表1:
ID | PageID
------------
1 | 101
2 | 102
3 | 103
4 | 104
表2:
ID | SRCID | PageID
--------------------
1 | 2 | 179
2 | 3 | 103
3 | 3 | 109
表2和表1有不同数量的记录。 Table2.SCRID对应于Table1.ID。 我想根据SRCID更新Table2中的PageID以遵循Table1的PageID中陈述的内容。 表2的我的最终结果应该是:
ID | SRCID | PageID
--------------------
1 | 2 | 102
2 | 3 | 103
3 | 3 | 103
如何为DB2这样做在SQL?
我想:
UPDATE table2
SET PageID = (SELECT t1.PageID from table1 as t1 join table2 as t2
WHERE t2.SCRID = t1.ID);
但正如我得到上面不起作用:
DB21034E该命令被处理为一个SQL语句,因为它不是一个 有效的命令行处理器命令。在SQL处理过程中,它返回: SQL0811N标量全选,SELECT INTO语句或VALUES INTO语句的结果不止一行。 SQLSTATE = 21000
这里的问题是没有独特的列让我加入,以便每列都得到一个独特的结果..或者所以在我看来。请帮忙? :(
这工作致谢:) – evkwan
@evkwan:有一个愉快的一天;)! –