料金表があります。各レートには有効な開始日があります。(任意のレートの終了日は、より新しい有効開始日を持つレコードの存在によって暗示されます。)また、アクティビティーのテーブルがあります。各アクティビティは日付に発生します。
その日に有効だったレートにアクティビティを一致させる最良の方法は何ですか?
(残念ながら、データ構造を変更することはできないため、レートの明示的な終了日を追加することはできません。)
rates:
StartDate Rate
9/1/2010    17.00
10/1/2010   18.70
11/1/2010   20.00
Activities:
WorkCenter  ActionDate Hours
WC1         9/30/2010   10
WC1         10/1/2010   5
WC2         10/30/2010  8
WC2         11/3/2010   9
Desired result:
Workcenter ActionDate   Hours   Rate    Cost(=rate*hours)
WC1         9/30/2010   10      17.00   170.00
WC1         10/1/2010   5       18.70    93.50
WC2         10/30/2010  8       18.70   149.60
WC2         11/3/2010   9       20.00   180.00