我需要更新表的每一行,其中一列作为同一表中其他两列的总和
像这样
UPDATE table1 SET table1.column1 = sum (table1.column1 + table1.column2) for every row
我试过了
这对我有用
UPDATE table1 SET column1 =(SELECT SUM(column1 + column2) FROM table1 where rowid = 1) WHERE rowid = 1
所以我可以通过首先选择所有 rowId 来迭代每个 rowid 来做到这一点
for( all rowid as i){
UPDATE table1 SET column1 =(SELECT SUM(column1 + column2) FROM table1 where rowid = i) WHERE rowid = i
}
但我需要在一个查询中对该表中的所有行执行
当我尝试时:
update table1 set column1 = (select (column1 + column2) from table1 )
这将对 column1 和 column2 的所有值求和 我想连续做 wrt
有什么想法吗?
我在 sqLite for Android 上工作
最佳答案
不需要循环或内部选择。试试这个:
UPDATE table1 SET column1 = column1 + column2
关于android - 将一列更新为其他两列的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9213772/