tableA があります: (ID int, batch int, new_batch int)
ID とバッチは既に入力されています。
ID Batch New_Batch
1 01 NULL
2 01 NULL
3 02 NULL
4 02 NULL
5 02 NULL
6 03 NULL
7 04 NULL
8 05 NULL
ここで、次の select ステートメントに従って New_batch にデータを入力します。
(select batch from tableA where id in (3,8))
- この select ステートメントでは、バッチ = 02 とバッチ =5 が得られます。ここで、select ステートメントの結果が最初に順序付けられ (batch02、次に batch05)、残りのデータが select ステートメントではなくバッチの昇順で順序付けられるように、new_batch を割り当てたいと考えています。(バッチ 1,3,4) 結果は次のようになります。
ID Batch New_Batch
1 01 03
2 01 03
3 02 01
4 02 01
5 02 01
6 03 04
7 04 05
8 05 02
ありがとう。PS: DENSE_RANK() は使用できますが、ハードコーディングしないでください !!