No.003
重複のない一通りデータを取得したい
2003/2007/2010/2013/2016
重複したデータを削除して、一通りのデータを取得するときの方法をご案内します。
もちろん元のデータの状況にもよりますが、一般的な方法です。
たまに勘違いされるのは、組み込みのクエリにあります[重複クエリ]です。
重複クエリは、指定したフィールドの重複データを列挙してくれるもので、重複クエリの結果から一通りデータを取得するのは、ちょっと筋が違います。
重複クエリについては、ヘルプ「重複クエリとは」をご参照ください。
さて今回の一通りデータの取得ですが、次のテーブル[テーブル1]を元データとします。
よく見ていただくと、[ID]フィールドの1と7と10、また3と6のレコードは、[F1]フィールドと[F2]フィールドが同じ、[F3]の数値は違います。
[F1]フィールドと[F2]フィールドが同じレコードを1つにし、その際[F3]フィールドの値は大きい値を取るようにしたいと思います。
それで一通りデータは7件となります。
では、こういったときに一番早い方法は[集計クエリ]を利用することです。
まずは集計クエリ作成の手順までいきましょう。
クエリをデザイン ビューで新規作成し、目的のテーブルを追加します。
必要なフィールドを配置します。
今回はテーブル[テーブル1]を追加、フィールドはすべて配置します。
[クエリ ツール]-[デザイン]タブ-[表示/非表示]グループ-[集計]ボタンをクリックします。シグマのボタンですね。
これで集計クエリとなり、デザイン グリッドには、[集計]行が表示され、最初はすべてにグループ化と入っています。
では、設定しましょう。
一通りデータのために重複を省きたいフィールドは、そのまま[グループ化]の状態にしておきます。
今回[F1]フィールドと[F2]フィールドは[グループ化]です。
[F3]フィールドは大きい値を取るということでしたので、[集計]セルは[最大]を選択、[ID]フィールドは本来いらないのですが、勉強のために配置しています。こちらも[最大]にしておきましょう。
上図の設定の集計クエリの結果は、次のとおりです。
一通りデータとなっています。
ただ1点、把握いただきたいことがあり、[ID]フィールドの[最大]を設定しました。
元データと比べてよく確認してください。
集計クエリの[F1]~[F3の最大]のレコードと[IDの最大]の値は、元レコードと合致していません。
つまり[IDの最大]は、[F1]フィールドと[F2]フィールドで重複するレコードの[ID]の最大であり、表示[F3の最大]の元レコードにあった[ID]とは違います。
[F1]~[F3の最大]のレコードに該当する元の[ID]を表示したい場合は、新しいクエリで集計クエリと元のテーブルを追加し、関連付けて求めるのが1つ思いつく簡単な方法です。