使用SQLite从另一列更新列?

问题描述 投票:3回答:1

我有一个数据库,其中有两列具有许多记录,从这两列中我必须做一些数学运算并创建另外两列。

现在我确实是这样:

  • 我进行了选择并读取了两列,并将所有内容都放入列表中
  • 然后我遍历列表并逐行更新表

您认为有更快的方法吗?我也这样尝试过:

UPDATE myTable SET X_GAUSS = (SELECT X FROM myTable ) + 1, Y_GAUSS = (SELECT Y FROM myTable) + 2

(仅是示例)

但是以这种方式,新列的每一行都与之前的行相同,相反,我想要这样的东西:

X  Y  X_GAUSS Y_GAUSS
1  2  2       4
3  4  4       6
5  6  6       8
...  
sql sqlite
1个回答
3
投票

SELECT X FROM myTable之类的子查询返回表的first行。

您可以直接直接访问同一行的列:

UPDATE myTable
SET X_GAUSS = X + 1,
    Y_GAUSS = Y + 2;
© www.soinside.com 2019 - 2024. All rights reserved.