dポイントプレゼントキャンペーン実施中!

はじめまして。
当方はaccess2013を使用して不一致クエリで
住所の差異を抽出しようとしております。

Aの住所とBの住所を比較して、住所変更者の有無を
調べておりますが、全データ(20,000件ほど)を
対象とすると2件だけどうしても抽出されません。
その2件は確実に住所が変わっています。

対象データを少なくすれば(6,000件ほど)
不一致としてその2件も抽出されます。

データの多寡により不具合が発生することなど
あるのでしょうか。
今のやり方は、ID番号をキーとして設定しており、
住所欄に「Is Null」を入力している状態です。

ちなみに、クエリウィザードで不一致クエリを
作成しても、独自に作成しても結果は同じです。

全く原因が解らず困っております。

どうかお分かりの方、ご教授願えればと存じます。
宜しく御願い致します。

質問者からの補足コメント

  • 早速ありがとうございます。
    申し訳ありません。
    社内でやっており現在確認できない状態ですので、
    明日確認しましてまた補足に載せさせていただきます。
    よろしくお願いいたします。

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/10/11 21:22
  • >くんこば様

    SQL文についてあまり良くわかっておりませんが、
    下記の通りとなっています。
    こちらでよろしいでしょうか。
    よろしくお願い致します。

    SELECT 受領データ.郵便番号, 受領データ.住所全部, 受領データ.会員コード, 受領データ.社名, 受領データ.部署, 受領データ.御中, 受領データ.名前, 前月データ.住所全部
    FROM 受領データ LEFT JOIN 前月データ ON 受領データ.住所全部 = 前月データ.住所全部
    WHERE (((前月データ.住所全部) Is Null));

      補足日時:2016/10/12 08:46

A 回答 (3件)

No.2 です。



> 対象データを少なくして比較しますと抽出されますが、
> 全件一気に比較しますと2件のみ抽出されないのです。

なんか回答を疑われているような・・・

No.2 の回答での 「Bさんのデータ」が、
対象データを少なくした結果、存在しなくなった、ということでしょう。

> データの多寡により不具合が発生することなど
というわけではありません。

最初のご質問の
> 対象データを少なくすれば(6,000件ほど)
> 不一致としてその2件も抽出されます。
が大きなヒントとなって、No.2 の回答となっています。


> 不一致クエリで
> 住所の差異を抽出しようとしております。

> Aの住所とBの住所を比較して、住所変更者の有無を
> 調べておりますが

不一致クエリでは
テーブル1 にあって テーブル2 にない住所を抽出していますね。
変わったかどうかは見ていません。

Aの住所とBの住所を比較して、新しく加わった住所のみが抽出されます。
誰の住所であるかは見ていません。

極端な例を挙げると
「前月データ」にデータは3件
 Aさん ○○町1-1-1
 Bさん ○○町1-1-2
 Cさん ○○町1-1-3
「受領データ」にデータは3件
 Aさん ○○町1-1-1
 Bさん ○○町1-1-1
 Cさん ○○町1-1-1
という場合、
住所のみの比較では、不一致になるものは1件もない、ということです。
同じ人で住所の異なるものを抽出するようにしましょう。


万が一、「同じ人で住所の異なるものを抽出」の方法がわからない場合の回答。
「会員コード」も「住所全部」と同じように結合してください。
    • good
    • 0
この回答へのお礼

詳しく教えて頂き有難う御座います!

疑うというよりは私の書き方が悪く
うまく伝わっていないかもしれないと
考えたためあのような補足にしてしまいました。
本当に申し訳ありません。

accessに不慣れでして、
キーを設定してある場合は自動的にそのキーを
基準として比較しているものと思い込んでいました。

社内でやっておりますので、また月曜日に確認
してみますが、おっしゃる通り前月データに
同じ住所があった為、その2件は抽出されなかった
ように思います。
同じ人で比較するやり方が分かっておりません
でしたので、会員コードも結合してまた
検証してみます。
そこまで教えて頂いて誠に有難う御座いました。
大変わかりやすい内容で、
心より御礼申し上げます。

お礼日時:2016/10/15 12:37

> 今のやり方は、ID番号をキーとして設定しており、



SQL の中に「ID番号」が見当たりませんが、「会員コード」がそれでしょうか?

ご提示の SQL では
Aさんの「受領データ.住所全部」と Bさんの「前月データ.住所全部」が
たまたま同じだったら、Aさんのデータは抽出されませんね。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

おっしゃる通り、ID番号は「会員コード」になります。

前月データと今月データ(受領データ)を比較しまして
住所変更された方を抽出しようとしています。
前月と今月で確実に住所が変わっているのですが、
対象データを少なくして比較しますと抽出されますが、
全件一気に比較しますと2件のみ抽出されないのです。

SQL文に何か問題があるのでしょうか。
申し訳御座いませんが、お分かりでしたら
お教え頂ければ幸いです。
宜しく御願い致します。

お礼日時:2016/10/13 21:43

SQL文くらい載せてください

この回答への補足あり
    • good
    • 0
この回答へのお礼

ご指示の通り、SQL文載せてみました。
もしよろしければまたご覧頂ければ幸いです。
すぐにお返事頂いて有難う御座いました。

お礼日時:2016/10/13 23:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!