私は以下のような為替レート表を持っています
FromCurrency ToCurrency ValidFrom ExchangeRate
USD ZAR 2012-01-05 00:00:00.000 7.7260000000
USD ZAR 2012-01-04 00:00:00.000 7.6740000000
USD ZAR 2012-01-03 00:00:00.000 7.4601000000
USD ZAR 2012-01-02 00:00:00.000 7.7600000000
USD ZAR 2012-01-01 00:00:00.000 8.0945000000
EUR NOK 2012-01-05 00:00:00.000 7.5881000000
EUR NOK 2012-01-04 00:00:00.000 7.5974000000
EUR NOK 2012-01-03 00:00:00.000 7.4494000000
EUR NOK 2012-01-02 00:00:00.000 7.6606000000
EUR NOK 2012-01-01 00:00:00.000 7.7740000000
USD AED 2012-01-05 00:00:00.000 3.6731000000
USD AED 2012-01-04 00:00:00.000 3.6731000000
私のメインテーブルは
Transaction Date Amount Currency FromCurrency
13971 5/27/2011 8000 USD USD
13971 7/31/2011 -6809.4 ZAR USD
13971 8/30/2011 -425.59 ZAR USD
13971 9/27/2011 -6809.4 ZAR USD
67467 11/8/2011 5000 GBP GBP
67467 12/21/2011 -5195.06 ZAR GBP
67467 1/30/2012 -5195.06 ZAR GBP
81181 4/15/2011 6000 USD USD
81181 6/28/2011 -5159.03 ZAR USD
82418 10/21/2011 5000 EUR EUR
82418 1/27/2012 -3919.97 NOK EUR
上記はテーブルのサンプルデータです。私の実際のテーブルには数百万のレコードがあります。金額に(為替レートテーブルからの)為替レート列を掛け、対応するFromCurrency(為替レートテーブルから)をテーブルの通貨列で更新する必要があります。
私は多くの方法を試しましたが、解決策を見つけることができませんでした。ここで注意が必要なのは、為替レート表に私の表の日付が一致していないことです。
為替レートはこのように適用する必要があります。取引日が2012年2月20日で、通貨がZAR、FromCurrencyがUSDの場合、為替レート表から以下の行を選択する必要があります。
USD ZAR 2012-01-02 00:00:00.000 7.7600000000