【发布时间】:2015-01-29 13:27:25
【问题描述】:
我有两张桌子: Table1 有 5 列(col1、col2、col3、col4、val1)和 Table2 有 Table1 有 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 时用 sum(Table2.val2) 更新 Table1.val1 和表 1.col4 = 表 2.col4。
我做了类似的事情:
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: Update a table with data from another table,我应该有WHERE EXISTS 子句。
请帮忙!! 谢谢。
【问题讨论】:
-
您的子查询不相关。