小编Mic*_*hig的帖子

带row_number()的SQL更新

我想用增量号更新我的列CODE_DEST.我有:

CODE_DEST   RS_NOM
null        qsdf
null        sdfqsdfqsdf
null        qsdfqsdf
Run Code Online (Sandbox Code Playgroud)

我想将其更新为:

CODE_DEST   RS_NOM
1           qsdf
2           sdfqsdfqsdf
3           qsdfqsdf
Run Code Online (Sandbox Code Playgroud)

我试过这段代码:

UPDATE DESTINATAIRE_TEMP
SET CODE_DEST = TheId 
FROM (SELECT  Row_Number()   OVER (ORDER BY [RS_NOM]) AS TheId FROM DESTINATAIRE_TEMP)
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为 )

我也尝试过:

WITH DESTINATAIRE_TEMP AS
  (
    SELECT 
    ROW_NUMBER() OVER (ORDER BY [RS_NOM] DESC) AS RN
    FROM DESTINATAIRE_TEMP
  )
UPDATE DESTINATAIRE_TEMP SET CODE_DEST=RN
Run Code Online (Sandbox Code Playgroud)

但由于结合,这也行不通.

如何使用ROW_NUMBER()SQL Server 2008 R2中的函数更新列?

sql-server sql-server-2008-r2 sql-update

96
推荐指数
6
解决办法
15万
查看次数