テーブルやクエリに含まれる1つの、あるいは複数の列に注目して、同じ値を持つレコードをすべて抽出したいという場合があります。
グループ化集計がそれに近いように思われますが、実際にやってみると手順が長くなったり難しかったりしますので、そのような抽出を専門に行うための重複クエリウィザードというものが用意されています。
ここではその使い方をみてみます。
使用例
例としてこのようなテーブルを用います。
ここで、各会員のうち「血液型」と「出身地」が両方とも同じである者、つまり両方の値が重複している者を抽出するものとします。
ウインドウ上部の作成タブからメニュー「クエリウィザード」を選択します。
各種ウィザードの選択ウインドウが現れますので、「重複クエリ ウィザード」を選択します。
抽出の対象となるテーブルやクエリの選択ウインドウです。
今回は「会員テーブル」がはじめから選択されていますので、そのまま「次へ」をクリックします。
次に、どの列について重複を調べるのかを選択します。左側のリストから列名を選択し、「>」をクリックすると列名は右側のリストに移動します。その列を基準として重複のチェックが行われます。
今回は「血液型」と「出身地」の2つが(両方とも)重複している者を抽出しますので、それぞれの列名を選択し「>」ボタンで右側に移動させます。
次に、それ以外の列で一緒に表示させる列を選択します。
とりあえずすべて選んで次に進むこととします。
以上でひとまず終了です。
「完了」をクリックしてデータをみてみましょう。
抽出結果が表示されます。
血液型がAで出身地が埼玉県の者が3名、同じくBで千葉県が2名、Oで千葉県が2名ピックアップされています。
なお、列の順番と並べ替え順についてはもとのテーブルと異なりますが、デザインビューで開けば容易に調整できます。
備考
さて、値が重複しているレコードを数えるだけならグループ化集計でも簡単にできますが、他の列の値も一緒に表示する(上記の例では氏名など)というのがなかなか面倒なので、重複クエリウィザードは各種ウィザードの中でも多用されるものとなっています。
なお、具体的な用途の代表例として名寄せ候補のピックアップが挙げられます。例えばこのようなテーブルにおいて氏名と住所の両方が重複するものを抽出すると、会員IDが1のレコードと4のレコードが抽出されます。「生年月日こそ少し異なるものの、氏名も住所も同じなので同一人物なのではないか」といった判断ができるというわけです。