次のテーブルの更新スクリプトを書きたいと思います。
Id int,
Title nvarchar(100),
ProgramId int,
EventId int,
SortOrder int
SortOrder列で並べ替えて、列を1からNに設定したいId。ProgramIdただし、またはのいずれかが変更されたときに番号を再起動したいEventId。ProgramIdつまり、同じand値を持つ各行の番号付けシーケンス 1...N が必要です。次に、次のand値EventIdの番号付けを再開します。ProgramIdEventId
現在の並べ替えに基づいて行番号を取得するために使用できることはわかってROW_NUMBERいますが、他の 2 つの列のいずれかが変更されたときに番号を再開する方法がわかりません。これは可能ですか?