0

Oracle SQLを使用して、次の一連のファイル名から欠落しているファイル名をリストする方法はありますか?

ファイル名は table1 に保存されます。ファイル名には type1 と type2 の 2 種類があります。ファイル名は必ずしも正しいシーケンス番号順に保存されるとは限りません。ファイルタイプごとに 10 個のファイルが必要です (シーケンス番号は 001 から 010 です)。

ファイル名は次の形式です。

filetype.type1.seq.001.dat

filetype.type1.seq.004.dat

filetype.type2.seq.001.dat

filetype.type1.seq.006.dat

filetype.type2.seq.006.dat

filetype.type1.seq.007.dat

filetype.type1.seq.010.dat

filetype.type2.seq.004.dat

filetype.type1.seq.002.dat

filetype.type1.seq.003.dat

filetype.type2.seq.005.dat

filetype.type2.seq.008.dat

filetype.type2.seq.009.dat

filetype.type2.seq.010.dat

このシーケンスで欠落しているファイルは次のとおりです。

filetype.type1.seq.005.dat、filetype.type1.seq.008.dat、filetype.type1.seq.009.dat filetype.type2.seq.002.dat、filetype.type2.seq.003.dat、filetype .type2.seq.007.dat

ありがとう。

4

2 に答える 2

2

実行時にファイル名を生成できます。例:

select 'filetype.type' || typeno || '.seq.' || to_char(seqno,'fm000') || '.dat'
       as filename
from (select rownum as typeno from dual connect by level <= 2)
    ,(select rownum as seqno from dual connect by level <= 10)
minus
select filename from table1;
于 2012-08-30T02:16:06.463 に答える
0
select filename
from ref_table
MINUS
select distinct filename
from table1;

ref_tableには、可能なすべてのファイル名のリストが含まれます。

于 2012-08-29T19:41:51.087 に答える