accessで2つのテーブルを条件に沿って結合する
Access2007を使用しています。
株の取引履歴をAccessに取り込んで、デイトレードの収益計算をしようと考えています。
元のデータには、
取引日 | 取引数量 | 取引損益 | 新規購入・売却フラグ(0か1) | 株銘柄コード | 注文番号
2018/05/10 | 1,000 | +20000 | 1 | 0000 | 0123
2018/05/10 | 2,000 | 0 | 0 | 0010 | 0001 ★
2018/05/10 | 5,000 | 0 | 0 | 0777 | 0099 ★
2018/05/10 | 5,000 | +50000 | 1 | 0777 | 0099 ★
2018/05/10 | 1,000 | -25000 | 1 | 0010 | 0001 ★
2018/05/10 | 500 | -5000 | 1 | 0010 | 0001 ★
2018/05/12 | 500 | +5000 | 1 | 0010 | 0001
があります。
デイトレードは「当日中に購入して売却した株の取引損益」という条件(上記★マークの注文)で
抽出したいのですが、売却した株は分割だったりするので、
一つの新規購入に対して複数の売却注文が存在することがあり、
自分で以下のようにデータ加工するように設定しました。
・テーブル1
新規購入・売却フラグが0(購入注文)の
取引日 | 取引数量 | 新規・決済フラグ | 株銘柄コード | 注文番号 |
これに新規購入専用のキー(取引日 & 株銘柄コード & 注文番号)を連結したものを追加しました。
・テーブル2
新規購入・売却フラグが1(売却注文)の
取引日 | 取引数量 | 新規・決済フラグ | 株銘柄コード | 注文番号 |
これに売却注文専用のキー(取引日 & 株銘柄コード & 注文番号)を連結したものを追加しました。
それぞれのテーブルで作成したキー情報が一致するものだけを
テーブル3に吐き出したいのですが、テーブル1、テーブル2を専用のキーで連結して集計したところ、
新規購入の取引数量が多く集計されてしまいました。
どうやら売却注文が複数ある場合、購入注文の取引数量が集計されてしまったようです。
理想の出力形式は以下です。リストで
2018/05/10 | 2,000 | 0 | 0 | 0010 | 0001
2018/05/10 | 1,000 | -25000 | 1 | 0010 | 0001
2018/05/10 | 500 | -5000 | 1 | 0010 | 0001
2018/05/10 | 5,000 | 0 | 0 | 0777 | 0099
2018/05/10 | 5,000 | +50000 | 1 | 0777 | 0099
ここまで出せれば、後は自分の好きなように集計ができるのですが、
テーブル3への吐き出し方法について教えて頂けますでしょうか。
以上、よろしくお願いいたします。
お礼
ありがとうございます。やはりテーブルと言う既製品は見つからないので、オーダーメイドかホームセンターで材料を調達してみます。