I have a exchange rate table like below
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
My main table is
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
Above is sample data of table, my actual table has millions of records. I have to multiply amount with exchange rate column (from exchange rate table) and update the corresponding FromCurrency (from exchange rate table) with currency column in my table.
I have tried many ways but couldn’t find the solution. The tricky part here is there is not matching date for my table in exchange rate table.
Exchange rate should be applied like this. If my transaction date is Feb-20-2012 and Currency is ZAR and FromCurrency is USD then I have to pick the below row from exchange rate table
USD ZAR 2012-01-02 00:00:00.000 7.7600000000
To select