如何从行列表中同一 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;
我在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;