У меня есть таблица с тарифами. У каждого курса есть дата начала действия. (дата окончания любой ставки подразумевается существованием записи с более новой эффективной датой начала.) У меня также есть таблица с действиями. Каждое действие происходит на дату.
Каков наилучший способ сопоставить активность с тарифом, действовавшим на эту дату?
(к сожалению, у меня нет возможности изменить структуру данных, поэтому добавление явной даты окончания для ставки отсутствует.)
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