I need to update each row of a table with one column as sum of other two columns in the same table
Something like this
UPDATE table1 SET table1.column1 = sum (table1.column1 + table1.column2) for every row
I have tried
This is working for me
UPDATE table1 SET column1 =(SELECT SUM(column1 + column2) FROM table1 where rowid = 1) WHERE rowid = 1
So I can do this by iterating each rowid by first selecting all rowId
for( all rowid as i){
UPDATE table1 SET column1 =(SELECT SUM(column1 + column2) FROM table1 where rowid = i) WHERE rowid = i
}
But I need to do for all the rows in that table in one query
When I tried:
update table1 set column1 = (select (column1 + column2) from table1 )
this will summ all the values of column1 and column2 i want to do wrt to a row
Any idea?
Me working in sqLite for Android
There's no need for loops or inner selects. Just try this:
UPDATE table1 SET column1 = column1 + column2
It's allowed to read from columns in the set
clause:
UPDATE table1
SET column1 = column1 + column2
WHERE rowid = 1
For all the rows you need not WHERE
predicate:
UPDATE table SET
column1 = column1+column2
thats all.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With