• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数のテーブルの重複データを抽出するには)

複数のテーブルの重複データを抽出するには

このQ&Aのポイント
  • テーブル T_2011、T_2010、T_2009 には同じ形式の顧客情報があります。毎年購入がある方を抽出する方法を知りたい。
  • クエリなどを利用して一発で重複データを抽出する方法を教えてください。
  • 環境は、Windows XP、Access 2000です。重複チェックのキーは顧客IDです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.1

単に、 select a.顧客id,a.氏名,a.住所 from T_2011 a,T_2010 b,T_2009 c where a.顧客id = b.顧客id and a.顧客id = c.顧客id で出てくると思いますが。 年によって、氏名(結婚・離婚による)や住所(転居・行政の地番変更による)が変わることがあるので 最新のテーブルのデータを参照しましょう。 2010年、2009年に購入していて20011年に購入していない顧客は? など購入していないという条件をつけるのは少し難しいと思われるかもしれませんが、 以下のようなSQLです。 select b.顧客id,b.氏名,b.住所 from T_2010 b,T_2009 c where b.顧客id = c.顧客id and b.顧客id not in (select a.顧客id from T_2011 a) ※本当は、年毎にばらばらに持つのはのぞましくないんですが。 ・・・例えば、2009~2011のいづれかの年に購入した客で大阪府に住んでいる人を出したいときとかに 急に手間が増えます。

genmai1980
質問者

お礼

ありがとうございました。 すごく便利です。 ただ、SQLビューの存在をしらなかったため若干マヨってしまいました。 SQLを覚えればここで色々できるのですね。 今まではクエリの条件に簡単な関数?を入れていただけでしたので。 ありがとうございました。 また、データベースのに関してのアドバイスも頂き有難うございます。 本当にありがとうございました。

関連するQ&A