我有两个表:
Table1有5列(col1,col2,col3,col4,val1),Table2也有5列(col1,col2,col3,col4,val2)。
1. Table1.val1中不包含任何值。
2. 对于Table1和Table2,col1,col2,col3和col4是相同的,并且它们是主键。
我想做的是,当Table1.col1 = Table2.col1且Table1.col2 = Table2.col2且Table1.col3 = Table2.col3且Table1.col4 = Table2.col4时,用sum(Table2.val2)更新Table1.val1。
我已经做了类似以下的事情:
我想做的是,当Table1.col1 = Table2.col1且Table1.col2 = Table2.col2且Table1.col3 = Table2.col3且Table1.col4 = Table2.col4时,用sum(Table2.val2)更新Table1.val1。
我已经做了类似以下的事情:
UPDATE Table1
SET val1 = (
select t_sommevbrute.sumvalbrute from (
Select col1,col2,col3,col4,SUM(val2) sumvalbrute
From Table2
Where col3 = 2014 And col2=51
GROUP BY col1, col2, col3, col4) t_sommevbrute
WHERE Table1.col1 = t_sommevbrute.col1
and Table1.col2 = t_sommevbrute.col2
and Table1.col3 = t_sommevbrute.col3
and Table1.col4 = t_sommevbrute.col4)
但是与这个问题相关的:Oracle SQL:使用另一个表中的数据更新表,我应该有WHERE EXISTS
子句。
请帮忙! 谢谢。