• ベストアンサー

重複しているレコードを一気に削除する方法

bin-chanの回答

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

キー重複してたらすべて消しても良いのですか? 残すレコードのルールは? 私だったら 1)キー重複しているもののうち、残すルールに従ってレコードを検索し、別テーブルとして保存。 2)キー重複レコードをすべて削除 3)1)を戻す それぞれ、レコード件数を把握・記録して検証する ※バックアップ必須ですよ

JMFPRAPPKWDIQ
質問者

お礼

ありがとうございます。

関連するQ&A

  • テーブルのレコード削除ができません

    SQLserver2000を触る事になり思った通りにならず困っております。 テーブルに主キーを設定せずデータ型を「int」でフィールドに重複する数値を入れてしまいました。 後から重複入力のミスに気づき重複したレコードを 「テーブルを開く」-「全行を返す」から1レコードを 削除しようとしたのですが、 「キー列の情報が足りないか、正しくありません。更新の影響を受ける行が多すぎます。」と表示され削除できません。 このテーブルは、多くのビューで使用してすでに動いている再作成することは難しいです。 このレコードを削除する良い方法はあるのでしょうか。 ご存知の先生方ご指導よろしくお願いいたします。

  • 2つのテーブルで重複する値のレコードを削除したい

    削除クエリ?重複クエリ?について教えてください。 テーブル1 フィールド"番号"には 1 2 3 テーブル2 フィールド"番号"には 3 4 5 があるとします。 「テーブル2と重複しているテーブル1のレコードを削除する」 (この場合「3」が重複しているのでテーブル1の3が入力されているレコードを削除) としたいのですがどいゆうSQL文を書けばいいのかわかりません。 ご教授よろしくお願いします。

  • ACCESS 重複データ削除の順番について

    追加クエリを使って重複データを削除する時に、削除されるデータについて質問です。 重複レコードを含むテーブルの構造のコピーを作成し、重複レコードを含むすべてのフィールドの主キーを作成して、元のテーブルから新しいテーブルへの追加クエリを実行して、重複レコードを一括削除をしています。 [操作についての参考URL] http://support.microsoft.com/kb/879852/ja =========================================== (テーブル) [ID]  [クラス]  [名前]   [時間]     1     A     ああ   11:00 ←重複 2     B     鈴木   12:00    3     C     アア   13:00     ←重複  4     A     ああ   14:00 ←重複 5     B     森    15:00   6     C     アア   16:00     ←重複  7     B     青山   17:00   8     C     アア   18:00     ←重複     9     A     ああ   19:00 ←重複 =========================================== 上記のようなテーブルで「クラス」と「名前」の2つのフィールドを主キーにした場合、 「A」の「ああ」さんと、「C」の「アア」さんが各3件ずつ重複しています。 しかし、「ID」と「時間」はそれぞれ違っています。 このような場合に、削除されないデータと削除されるデータの違いは何なのでしょうか? ACCESSの仕様でとか、レコードの若い番号順で削除されるとか、明確なルールが あれば教えていただけると幸いでございます。 御手数お掛け致しますが、何卒よろしくお願いいたします。

  • 重複レコードの削除

    あるテーブル(ここではTESTというテーブルとします)の重複レコードを削除したいので、以下のようなストアド・プロシージャを作成しました。 SELET DISTINCT * INTO TEST2 FROM TEST DELETE FROM TEST SELECT * INTO TEST FROM TEST2 DROP TABLE TEST2 開発終了後、システムの都合上、テーブルの追加はできないことが発覚し、TESTテーブル上で重複レコードを削除しなくてはならなくなりました。 カーソル等を利用すれば重複削除できると思いますが、ほかにシンプルな方法で重複レコードを削除する方法はありませんか?

  • ACCESSでの重複レコードの削除

    ACCESSで、重複レコードを引っ張ってくるのは、重複クエリでやれましたが、逆に、重複レコード(1つのフィールド、或いは複数のフィールドに着目しての)の削除は、やれないのでしょうか? イメージしているのは、エクセルのオートフィルタでの「重複データの削除」です。 よろしくお願い致します。

  • 「主キー以外重複データ(フィールド多数)」の抽出

    タイトルのような抽出方法が必要になり、その出し方で困っています フィールドが100以上ある大きなテーブルが複数(フィールド構造は全く同じ)あり、 そのレコードを一つにまとめる為重複データを抽出し削除したいのです 条件は「主キー以外の全てのフィールドのデータが一致してる重複データ」であり、 それをどうやればAccessの機能で出せるのか悩んでいます。 最初はクエリでグループ化して出そうと思ったのですがこのフィールド数では全て グループ化はできず、 VBAで一行ずつループで処理しようにもキー以外の全フィールド一致とする検索条件のSQLのWHERE式が複雑すぎると出て処理できませんでした フィールド数が多大なテーブルで主キー以外完全一致の重複レコードをうまく抽出するにはどうすればいいのでしょうか?

  • 重複クエリウィザード

    もしかして、テーブルのフィールドの型がメモ型の場合、 図のような、重複クエリウィザードでは出来ないのでしょうか? (とある、メモ型のフィールドのみ表示されません) 手動で重複クエリを作るにはどうすれば良いでしょうか? 例えば 「フィールド1」は主キーではなく、 重複も許可していて、 メモ型ですが、 同じ文字列が違うレコードにあるかどうかだけ調べたいです。 よろしくお願いします。

  • Access 分割したテーブルを一対一で結合。新規レコードが作れなくなりました

    過去に同様の質問が無かったようなので質問します。 Access2002です。 これまで顧客名簿を一つのテーブルで管理していたのですが、フィールド数が増えてきたので、 テーブルを5分割しました。 主テーブルに対し副テーブル4つを、主テーブルのID(主キー、オートナンバー型)と副テーブルそれぞれのID(数値型)で一対一結合しています。 下記のようなイメージです。 テーブルA-テーブルB テーブルA-テーブルC テーブルA-テーブルD テーブルA-テーブルE すると、 新規レコードの登録が出来なくなってしまいました。 全部のテーブルを結合させたクエリを作って、そのクエリを基にフォームを作ったり、 主テーブルのフォームに副テーブルのサブフォームを4つ設置したり、 幾つか方法を試みたのですが、どれも同じエラーメッセージが出ます。 ↓ 「インデックス、主キー、またはリレーションシップで値が重複しているので、テーブルを変更できませんでした。重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。」 非常に基本的な質問なのかも知れませんが、お手上げです。 どなたかご教授くだされば幸いです・・・。

  • アクセス:レコード中の重複あたいを削除する方法

    100件のレコードがあります。フィールドAに4桁の一意なデータが入っています。フィールドBにはフィールドAの頭から3桁を抜き出したデータが入っています。 Aは一意でもBはそうではなくなる場合があり重複が発生します。この重複のデータのみを削除する方法を教えていただけないでしょうか。 フィールドA、 フィールドB ABC1、ABC ABC2、ABC ABD1、ABD ABD2、ABD どれぞれ二つ目のABCとABDを削除し、下記のようにしたい。 フィールドA、 フィールドB ABC1、ABC ABC2、 ABD1、ABD ABD2、

  • 重複レコードについて

    重複レコードについて ACCESS2002での話になります。 テーブルに下記レコードが複数存在します。 (例) フィールド1 フィールド2 フィールド3 愛知 田中 12 愛知 田中 11 愛知 田中 13 三重 山本 23 三重 山本 21 岐阜 鈴木 33 岐阜 鈴木 34 上記を下記の形で抽出したいと考えております。 フィールド1 フィールド2 フィールド3 愛知 田中 12 三重 山本 23 岐阜 鈴木 33 条件はフィールド1で重複がなくなるように抽出したいです。 フィールド3はどの値を抽出してもかまいません。 DESTINCTでの抽出を考えたのですが、それだと全てのカラムに DESTINCTがかかって希望の抽出が出来ませんでした。 何卒ご教授お願いいたします。