Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie setze ich den Spaltenwert gleich der Zeilennummer?

Wenn Sie versuchen, eine Spalte direkt mit ROW_NUMBER() zu AKTUALISIEREN, erhalten Sie...

...also statt INNER JOIN die Tabelle mit sich selbst...

UPDATE
    [test123]
SET
    [row_number] = [x].[rn]
FROM
    [test123]
INNER JOIN
    (
        SELECT
            [test_id],
            ROW_NUMBER() OVER (ORDER BY [test_id]) AS rn
        FROM
            [test123]
    ) AS x
ON 
    [test123].[test_id] = [x].[test_id]