■1から連番を振る
ROW_NUMBER() over (order by COL1,COL2,COL3) AS SEQNO
※order by のソート順に連番を振る。
■ある範囲毎に1からの連番を振る
ROW_NUMBER() over (partition by COL1 order by COL2,COL3) AS SEQNO
※COL1が同じものについて、COL2、COL3のソート順に1からの連番を振る。
COL1の値が変われば、1から振り直す。
■複数パターンのデータの組み合わせで連番データ作成
例)A,B,Cの検索結果を組み合わせたデータに連番SEQNOを付加しTESTTABLE1にINSERT
INSERT INTO TESTTABLE1
SELECT
--COL1~COL4の順でソートした結果に対して連番を振る
ROW_NUMBER() over (order by A.COL1,A.COL2,B.COL3,C.COL4) AS SEQNO
,A.COL1
,A.COL2
,B.COL3
,C.COL4
FROM
--A,B,Cの検索結果を元にデータ作成
(
SELECT '1' AS COL1, 'a' AS COL2 UNION
SELECT '1','b' UNION
SELECT '2','c'
) A,
(
SELECT COL3 FROM TABLEB
) B,
(
SELECT 'Y' AS COL4 UNION
SELECT 'N'
) C