私はテーブルや価値観の下に持っていると私は期待出力に以下のような出力をしたいと行番号を使用して同じシーケンス番号を設定する方法2列
declare @TestData table (ID int, sku char(6), product varchar(15))
insert into @TestData values (1 , 'ABDE01' ,'SPA')
insert into @TestData values (2 , 'ABDE01' ,'GRE')
insert into @TestData values (3 , 'ABDE01' ,'RUS')
insert into @TestData values (2 , 'ABAD03' ,'SPA')
insert into @TestData values (4 , 'ABAD03' ,'SPA')
insert into @TestData values (6 , 'ABAD03' ,'SPA')
insert into @TestData values (1 , 'ABAD02' ,'SPA')
insert into @TestData values (2 , 'ABAD02' ,'SPA')
insert into @TestData values (4 , 'ABAD05' ,'ENG')
として期待される出力:
SKU Product NewRow
ABAD02 SPA 1
ABAD02 SPA 1
ABAD02 ENG 2
ABAD03 SPA 1
ABAD03 SPA 1
ABAD03 SPA 1
ABDE01 SPA 1
ABDE01 GRE 2
ABDE01 RUS 3
I次のクエリを試しましたが、期待どおりに動作していないと私は私が望んでいたものと私を与えました
declare @TestData table (ID int, sku char(6), product varchar(15))
insert into @TestData values (1 , 'ABDE01' ,'SPA')
insert into @TestData values (2 , 'ABDE01' ,'GRE')
insert into @TestData values (3 , 'ABDE01' ,'RUS')
insert into @TestData values (2 , 'ABAD03' ,'SPA')
insert into @TestData values (4 , 'ABAD03' ,'SPA')
insert into @TestData values (6 , 'ABAD03' ,'SPA')
insert into @TestData values (1 , 'ABAD02' ,'SPA')
insert into @TestData values (2 , 'ABAD02' ,'SPA')
insert into @TestData values (4 , 'ABAD02' ,'ENG')
SELECT
dt.SKU, dt.Product, NewRow
FROM (SELECT
SKU, Product, --ROW_NUMBER() OVER (PARTITION BY product ORDER BY product) AS RowID,
DENSE_RANK() OVER (PARTITION BY sku,product ORDER BY id) as NewRow
FROM @TestData
) AS dt
私は午前結果は次のようになります。
SKU Product NewRow
ABAD02 ENG 1
ABAD02 SPA 1
ABAD02 SPA 2
ABAD03 SPA 1
ABAD03 SPA 2
ABAD03 SPA 3
ABDE01 GRE 1
ABDE01 RUS 1
ABDE01 SPA 1
私はここで逃したことをお伝えください。ありがとう!!
私はあなたの答えに感謝し、あなたの時間を感謝したいと思います。最終的な注文は不要で、クエリは期待どおりに動作しています。 :) –