現在
テーブル T_2011,T_2010,T_2009
の3つのテーブルがあり、それぞれには同じ形式の顧客情報が入っています。
例えば
顧客id,氏名,住所
この時、
T_2011には2011年に購入履歴のある方
T_2010には2010年に購入履歴のある方
T_2009には2009年に購入履歴のある方
のデータが入っております。
そこで、毎年購入がある方を抽出したいのですが
どうすれば可能でしょうか?
もちろん1つのテーブルに集めて、重複チェックをすれば
出るのですが、今後テーブル数が増えたり、2011年と2090年に
購入のある方など様々な形での抽出をする可能性があるため
クエリなどを利用し一発で抽出する方法があればと考えて
おります。
もちろん検索等を行い似たような例はあったのですが
ちょっと理解ができなかったためご質問させて頂きました。
宜しくお願いいたします。
重複チェックのキーは、顧客IDとなります。
環境は、windowsXP、access2000となっております。
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のいづれかの年に購入した客で大阪府に住んでいる人を出したいときとかに
急に手間が増えます。
ありがとうございました。
すごく便利です。
ただ、SQLビューの存在をしらなかったため若干マヨってしまいました。
SQLを覚えればここで色々できるのですね。
今まではクエリの条件に簡単な関数?を入れていただけでしたので。
ありがとうございました。
また、データベースのに関してのアドバイスも頂き有難うございます。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) accessについて 2 2022/05/31 16:58
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- その他(ソフトウェア) 現在と過去の顧客名簿、新規・解約・更新など作りたいのですが「やよいの顧客管理」なら簡単に扱えますか? 1 2022/05/18 10:44
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- その他(資産運用・投資) 助けてください 株購入、配当について 正式なグリー株式会社から 身に覚えのない手紙が届きました。 手 8 2023/08/28 12:50
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
[SQL]重複内容を持つデータから1件抽出かつ複数のカラムを表示したい
その他(データベース)
-
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
2つの項目が重複するレコードを抽出する方法はありますか?
MySQL
-
-
4
複数テーブルにわたるCOUNT
MySQL
-
5
アクセスの重複クエリ
Access(アクセス)
-
6
SQL、2つのテーブルで条件一致したものだけdeleteする方法は?
Oracle
-
7
ACCESS 複数テーブル・複数フィールドを参照する不一致クエリ
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
同一のユーザー、同一商品のと...
-
PL/SQLの変数について
-
テーブル名を省略して「h.id」...
-
SQLサーバから、項目の属性(型...
-
クエリ表示と、ADOで抽出したレ...
-
LEFT JOIN と GROUP BY
-
副問合せの書き方について
-
SELECT文で片方のテーブルを優...
-
VIEWの元のテーブルのindexって...
-
select文で特定のIDを抽出しupdate
-
php+MySQLでレコードが何行目か...
-
#1136 - Column count doesn't ...
-
SQLで残高計算
-
MySQLでのバイナリデータ削除方法
-
複数のテーブルの重複データを...
-
SQLにて特定の文字を除いた検索...
-
Access VBAでのIDの自動発番
-
SQL Left Join で重複を排除す...
-
LEFT JOINが2つあるSQL文でAND...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
SQL Left Join で重複を排除す...
-
副問合せの書き方について
-
SQLサーバから、項目の属性(型...
-
VIEWの元のテーブルのindexって...
-
select文のwhere句に配列を入れ...
-
selectした大量データをinsert...
-
センノシド異性体構造式
-
Unionした最後にGROUP BYを追加...
-
insertを高速化させたい
-
SQLにて特定の文字を除いた検索...
-
マイクラPC版のコマンドで効率...
-
ある条件の最大値+1を初番する...
-
inner joinをすると数がおかし...
-
sqlで、600行あるテーブルを100...
-
エクセルの関数について教えて...
-
Access パラメータクエリをcsv...
-
URL と行番号の指定
-
複数テーブルのGROUP BY の使い...
-
PL/SQLの変数について
おすすめ情報