Far*_*day 3 sql sql-server sql-server-2005 sql-server-2008 sql-update
我在SQL Server 2008数据库中有一个表.我需要更新特定列的值,但同时增加它的值.解释:
如果表是:
CREATE TABLE [dbo].[Player]
(
[PlayerID] [uniqueidentifier] NOT NULL,
[UnitID] [uniqueidentifier] NULL,
[ExerciseID] [uniqueidentifier] NOT NULL,
[Designation] [nvarchar](256) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
我想通过它有一个每一行ExerciseID的42C45D73-3FE6-4AFA-8E2F-09BDFC6CBDF7和更新的Designation是Player - X,但X应该从1开始,并通过每次一个增量本身.
所以第一个被更新的玩家将是Player - 1第二个将会是Player - 2等等.
我不知道从哪里开始这样的事情!
谢谢
; with numbering as (
select PlayerID,
UnitID,
ExerciseID,
Designation,
row_number () over (order by PlayerID) - 1 rn
from Player
where ExerciseID = '42C45D73-3FE6-4AFA-8E2F-09BDFC6CBDF7'
)
update numbering
set Designation = 'Player - ' + convert(varchar(10), rn)
Run Code Online (Sandbox Code Playgroud)