如何从行列表中同一 table 中的另一列更新一列?

How to update a column from another column in the same table in a list of rows?

我在Table A中有以下数据结构:

RequestId  |  Serial  |  RowSerial
-----------+----------+----------
   1       |    1     |    NULL
   1       |    2     |    NULL
   1       |    3     |    NULL

我需要查询才能进行以下更新:

RequestId  |  Serial  |  RowSerial
-----------+----------+----------
   1       |    1     |    501
   1       |    2     |    502
   1       |    3     |    503

500 是添加到 Serial 列并设置为 RowSerial 列的静态数字。

我试过这个:

UPDATE Table A
SET RowSerial=(SELECT top 1 500+(Serial) FROM Table A where requestid=1 and RowSerial is Null) where requestid=1

但是没有用。如何做到这一点?

一个简单的加法:

UPDATE TableA
SET RowSerial = 500 + Serial
WHERE RequestId = 1 AND RowSerial IS NULL

仅当您想将更新限制在特定行时才使用 WHERE 部分。

简单

UPDATE TableA
SET RowSerial = Serial + 500;