- ベストアンサー
アクセス:レコード中の重複あたいを削除する方法
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、
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。 思いつく方法としては、当該テーブルをAとします。 テーブルAをグループ化し、フィールド1を「最小」にしてテーブル作成クエリでテーブルBを作成します。 テーブルBの内容は、 フィールドA フィールドB ABC1 ABC ABD1 ABD となります。 ※要するにフィールドBの1種類に対して、フィールドAも1種類だけとしたもの。よって、「最小」ではなく「最大」でもよいかと思います。 で、次にテーブルA全件に対して、テーブルBを紐付けます(フィールドAで)。 また、抽出条件としてテーブルBのフィールドA(最小)をNullとしします。 これで、テーブルBのABC1及びABD1以外のレコードが抽出されると思います。 このクエリを更新クエリにして、テーブルAのフィールドBをNullにするように して実行します。 そうすると、 フィールドA、 フィールドB ABC1、ABC ABC2、 ABD1、ABD ABD2、 になるかと思います。
その他の回答 (1)
- naoto0216
- ベストアンサー率46% (183/391)
例だけみると、 UPDATE テーブル1 SET [テーブル1].[フィールドB] = Null WHERE ((([テーブル1].[フィールドA]) Like "AB*2")); でいけると思うのですが、こんな単純な話ではないんですよね?
補足
そうですね。これだと例文の分しか対応できないです。いろんなパターンがありますので・・・ ありがとうございます。
お礼
やりました! できました。大変ありがとうございます。
補足
グッドアイデアだと思います。早速やってみます。後程報告します。 ありがとうございます。