简体   繁体   中英

Update one column as sum of other two columns

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM