列ごとに1つずつ反復し、列のshopIDが変更されたときにリセットするシーケンス番号のようなものを作成しようとしています。しかし、私は変数を使用したいと思います。列の値に応じたSQLオートカウンター
select
@Counter --what to do here?
,@data as Data
,case
when (ShopID.N.value('.', 'decimal(5,0)') = -1) then NULL
else ShopID.N.value('.', 'decimal(5,0)')
end as ShopID
from @xmlRes.nodes('/Root/ResponseData/response/shopItems') as S(N)
outer apply S.N.nodes('recordNumber') as ShopID(N)
私はこのようなものを取得する必要があります:
Counter | Data | ShopID
--------------------------------------
1 | Sample | 1
2 | Sample | 1
3 | Sample | 1
1 | Sample | 2
2 | Sample | 2
3 | Sample | 2
4 | Sample | 2
1 | Sample | 3
なぜrow_number()の代わりに変数を使用するのですか –