mardi 2 décembre 2014

update column based on sum of data from another table


I have two tables :


Table1 (col1, col2, col3, col4, val1, status) Table2 (col1, col2, col3, col4, val2)


For Table1 and Table2, The column (col1, col2, col3, col4) are the composit primary key.


Table2 may have duplicated rows, for that reason i would like to group by (col1, col2, col3, col4) and sum(val2)


After that, i would like to update Table1.val1 by the value of sum(Table1.val2) when Table1.col1 = Table2.col1 and Table1.col2 = Table2.col2 and Table1.col3 = Table2.col3 and Table1.col4 = Table2.col4 and status= 'V'.


I did something like that:


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 And status= 'V' 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)


Could someone help me please? Thank you





Aucun commentaire:

Enregistrer un commentaire