私は何かについて興味がありました。2 つのテーブルがあるとします。一方には販売コードとプロモーション コードがあり、もう一方にはプロモーション コードと属性のみがあります。プロモーション コードはオンとオフを切り替えることができますが、プロモーション属性は変更される可能性があります。テーブル構造は次のとおりです。
tblSales tblPromo
sale promo_cd date promo_cd attribute active_dt inactive_dt
2 AAA 1/1/2013 AAA "fun" 1/1/2013 1/1/3001
3 AAA 6/2/2013 BBB "boo" 1/1/2013 6/1/2013
8 BBB 2/2/2013 BBB "green" 6/2/2013 1/1/3001
9 BBB 2/3/2013
10 BBB 8/1/2013
これは私のテーブル/スキーマ/デザインではないことに注意してください。特に属性を測定したい場合に、属性の変更ごとに新しい promo_cd を作成しない理由がわかりません。とにかく、私はこのようなテーブルを作ろうとしています:
sale promo_cd attribute
2 AAA fun
3 AAA fun
8 BBB boo
9 BBB boo
10 BBB green
これまでに行った唯一のことは、内部結合を作成し (これによりレコードが重複します)、販売日をプロモーションのアクティブ/非アクティブな日付と比較してフィルター処理することだけです。しかし、これを行うためのより良い方法はありますか? これは非常に大きなデータ セットであり、効率的に維持したいので、非常に興味がありました。