前提・実現したいこと
以下のような履歴型のテーブルから最新のレコードを抽出したい
テーブルA
列1 | 列2 | 列3 |
---|---|---|
CD0001 | 201803 | A |
CD0001 | 201802 | B |
CD0001 | 201801 | C |
CD0002 | 201802 | D |
CD0002 | 201801 | E |
CD0003 | 999999 | F |
CD0003 | 201801 | G |
前提条件
以下の手順で実施する
①SQLLoaderにてファイル全量をファイル出力(output_ora.log)
②output.logからテーブルA.列3が(A,D,F)のみをファイル出力(output_cmn.log)
このとき「②」を実現するためのコマンドをご教示いただけますでしょうか。
ヒントでもキーワードでも結構です。
参考ULRだけでもいただけますとありがたいです。
よろしくお願いいたします。
output_ora.logのサンプルを数行程度、追記していただけるとイメージが湧きやすいです。
SQLで列3の項目がA or D or Fのデータを抽出して、それをファイルに出力したほうが良くないですか? せっかくSQLが使えるのだから。
output.log は書き間違いで正しくは output_ora.logですね。「前提条件」を守らなければ coco_bauerさんの方法がベスト回答ですね。
ご指摘ありがとうございます。ファイル名の誤記を訂正しました。output_ora.logはシングルクォート等の囲み文字はなく、区切り文字はカンマ区切りです。SQLでパフォーマンスという観点抜きで実現できることは既知です。