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