- 締切済み
【至急】Accessでの大量データのマッチング方法
仕事で88万件のデータに対して、項目AをBに置き換える作業を行いました。 ですが88万件という件数を想定していなかったため、ExcelやDFツールでの変更前後の比較が行えませんでした。 検証結果として88万件の内、項目AがBに置き換わった以外は変更されていないという検証結果が必要です。 (88万件の中から必要な項目だけを集計して、比較することは認められています。) お客さんへの検証結果の報告が明日(4/16)中のため、本当に困っております。 明日Accessに詳しい先輩方には方法を伺いますが、もしもこれをご覧になった皆様から事前に方法をご教授いただけないかと思い投稿させていただきました。 Accessはまったくの初心者のため可能な範囲で詳しくご教授いただけると非常に助かります。 以下は項目AをBに置き換えた作業手順です。 (実際のSQLは職場にあるため正確とは言えませんが。) 気になる点としましては「出力したテキストの容量が5GBにもなってしまい、Accessで取り込むことが出来るのか?」という点と、 「データ項目だけではなく、select文からスプールしているがAccessで取り込むことが出来るのか?」という点です。 (1)まずSQL Plusを起動しました。 (2)次に以下の順にSQLを実行しました。 スプールオン(項目は「,」カンマ区切りで出力しています。) select * from テーブル名 where 抽出条件 order by 項目 スプールオフ ↓ update テーブル名 set 項目B where 抽出条件 ↓ スプールオン select * from テーブル名 where 抽出条件 order by 項目 スプールオフ ↓ commit 以上です。 本日中に回答いただけなかったとしても今後の参考にさせていただきたいので期限後でも投稿していただけるとありがたいです。 皆様のご協力何卒よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- f_onion
- ベストアンサー率47% (10/21)
88万件はどうだったかなぁ、50万件ならやったことあります。 Accessには作成できるファイルサイズなどの制限もあるので、Accessのヘルプで「制限」と検索してみるといいですね。 ちなみに 2010は http://office.microsoft.com/ja-jp/access-help/HA010341462.aspx 2003は http://office.microsoft.com/ja-jp/access-help/HP005186808.aspx です。 もし容量制限でインポートできなければ、行か列かで分割して複数のmdbファイルにすることを考えたほうがいいでしょうね。 あとはまぁどこまで証跡として残さなきゃいけないのか次第なんでしょうね。 あとは余談。 update テーブル名 set 項目B where 抽出条件 ではなくて update テーブル名 set 項目A=B where 抽出条件 なのでは? 名称かコード値かなにかが変わって一括で変えた感じなんでしょうか。 もしそうで文字列なら、文字列の途中に含まれている場合はすくえてない可能性があるんでチェックしたほうがいいでしょうね。
お礼
早々のご回答ありがとうございました。 ファイル分割してAccessに取り込み、何とか業務に支障をきたすことなく検証を終えることができました。 どうもありがとうございました。