Ich habe eine Spalte mit dem Standardwert 0 für meine Tabelle erstellt. Ich möchte diese Tabelle mit der richtigen Sequenznummer aktualisieren. Könnte ich das mit Row_Number machen?Update-Spalte basierend auf Zeilennummer
meinem Tisch ist:
PersonID | Code | Sequence Number
---------+--------+------------
10 | D112 | 0
10 | D112 | 0
10 | D112 | 0
10 | E110 | 0
10 | E110 | 0
10 | E110 | 0
10 | D112 | 0
10 | D112 | 0
10 | D112 | 0
10 | E110 | 0
10 | E110 | 0
10 | E110 | 0
ich meine Tabelle wie folgt sein soll:
PersonID | Code | Sequence Number
---------+--------+------------
10 | D112 | 1
10 | D112 | 1
10 | D112 | 1
10 | E110 | 2
10 | E110 | 2
10 | E110 | 2
11 | M490 | 1
11 | M490 | 1
11 | M490 | 1
11 | N550 | 2
11 | N550 | 2
11 | N550 | 2
Dies ist der Code, den ich habe, aber nicht sicher, ob dies richtig ist.
WITH CTE AS (
SELECT
t.Sequence Number,
ROW_NUMBER() OVER (PARTITION BY t.PersonID, t.Code ORDER BY t.PersonID) AS RN
FROM Table AS t)
UPDATE CTE
SET Sequence Number = RN
Sieht die Select-Anweisung korrekt ist –