取引所での会社の取引のテーブルがあります。したがって、特定の日に、会社のために多くの取引を行うことができます。私は今、これらの取引を取り、それらをポジションにグループ化したいと考えています.
取引は、国、タイプなどの属性に応じて多くのポジションを下回ることができ、ポジションは多くの取引で構成できます。
だから私は次のテーブルを持っています
テーブルトレード
Id Date Company Trade Type
1 2012-11-01 IBM 1000 A
2 2012-11-01 IBM 3000 B
3 2012-11-01 Dell 1000 A
4 2012-11-01 HP 5000 A
5 2012-11-01 HP 6000 A
6 2012-11-01 HP 7000 B
テーブル TradePositionMapping
PK TableTradeID PositionID
1 1 100 --IBM 1000
2 1 101 --IBM 1000
3 2 101 --IBM 3000
4 3 102 --Dell 1000
5 4 103 --HP 5000
6 5 103 --HP 6000
7 4 104 --Hp 5000
7 5 104 --Hp 6000
7 6 104 --Hp 7000
テーブルの位置
PK Company Position
100 IBM 1000
101 IBM 4000
102 Dell 1000
103 Hp 11000
104 Hp 18000
したがって、IBM Trade ID 1 の上の位置では、100 と 101 の 2 つの位置に移動しました。Trade Id 2 も位置 101 に移動し、合計で 4000 になりました。
わかりましたので、取引は 1 つ以上のポジションを構成でき、ポジションは多くの取引を持つことができるという考えです。ビジネス ロジックは、取引がどのポジションに流れるかを決定するため、ここでは例として、A と B をフラグとして使用しました。
それで、質問は..
取引テーブルから選択して集計するとき、さまざまな取引から構成されたすべての新しいポジションをポジション テーブルに挿入します。マッピングテーブルを作成する最良の方法は何ですか。
現時点で行っていることは、新しく作成された位置 ID を一時テーブルに保存し、最初に位置を生成するために行う選択を繰り返し、一時テーブルに結合することです。これはコードの重複が多いように思われます。そのようなことを行うためのベスト プラクティスが何であるかを知りたいと思います。
よろしくミック