• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:特定条件での連番の振り方を教えて下さい)

繰り返しの連番の振り方を教えてください

このQ&Aのポイント
  • 特定の条件で連番を振る方法について教えてください。
  • 納品データと売上データの連番が連動していない場合、どのように連番を付与すれば良いですか?
  • 納品データと売上データの注文番号が一致する場合の連番の付与方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

こういうことでしょうか。 insert into 売上データ ( 注文番号, 売上番号, 連番, 商品名 ) select 注文番号 , 売上番号 , ROW_NUMBER() over(partition by 注文番号 order by 売上番号, 連番) + (select COUNT(*) from 売上データ T2 where T1.注文番号 = T2.注文番号) 連番 , 商品名 from 納品データ t1; ROW_NUMBER()で納品データ内での連番を振って、その連番に既存データの件数を足しています。 MAX(連番)だと、同一注文番号が既存データに存在しない時にNULLになってしまうので、COUNTで件数を取るようにしています。

boooone
質問者

お礼

>>ROW_NUMBER() over(partition by 注文番号 order by 売上番号, 連番) >>MAX(連番)だと、同一注文番号が既存データに存在しない時にNULLになってしまうので、COUNTで件数を取るようにしています。 バッチリです! ROW_NUMBERを使用するのですね。 とても勉強になりました。 ありがとうございました。

関連するQ&A