/*Вычисление разности курсов валют*/

--код валюты
declare @ck int; 

--временная таблица для хранения промежуточных вычислений
declare @dif_table table(tk int, av_rate float, dif_rate float);
set @ck=3;

--вычисление разности среднего курса между текущем и следующим днём для всех дней
insert into @dif_table
       select TimeKey, 
              AverageRate, 
              'dif'= AverageRate - ( select AverageRate
                                     from FactCurrencyRate fr
                                     where fr.CurrencyKey=f.CurrencyKey 
                                           and 
                                           fr.TimeKey = f.TimeKey + 1
                                   ) 
       from FactCurrencyRate f
       where CurrencyKey=@ck;


--вычисление наибольшей разности валют между соседними днями        
select * from @dif_table 
where dif_rate=(select max(dif_rate) from @dif_table);