Как я могу написать запрос для вычисления процента разницы в двух полях?

#sql-server

#sql-сервер

Вопрос:

Я новичок sql server , у меня есть эта таблица на sql сервере:

 Telno       nchar(20)
CurBill     float
Cycle       nchar(8)
  

и в этой таблице есть эти данные:

 Telno       CurBill     Cycle           
 123         2000        951
 123         2500        952
  

напишите этот запрос для вычисления разницы в двух числах:

 SELECT  y.Telno,
        t.Cycle '-' y.Cycle Cycle,
        y.CurBill - t.CurBill Price
FROM [ClubEatc].[dbo].[GetOnlineBills] y
INNER JOIN [ClubEatc].[dbo].[GetOnlineBills] t
    ON y.Telno = t.TelNo AND CAST(y.Cycle as int)-1 = CAST(t.Cycle as int)
  

этот запрос минус два CurBill на Cycle и покажите мне это:

 123 951-952     1000 ----->calc this formull(CurBill(952)-CurBill(951))
  

теперь хотите показать процент уменьшения или увеличения CurBill минуса, например, покажите мне это:

 123      951-952       150%--->calc formulla(CurBill(951)-CurBill(952))/CurBill(951) *100
  

и другой пример представьте GetOnlineBills , что данные такие:

 Telno       CurBill     Cycle           
 123         2500        951    
 123         2000        952
  

и покажите мне это:

 123      951-952       -150%--->calc formulla(CurBill(951)-CurBill(952))/CurBill(951) *100
  

Как я могу это внедрить?Спасибо.

Комментарии:

1. Можете ли вы показать ожидаемый результат для одной таблицы, а также отметить версию используемого вами SQLServer

2. Я предполагаю, что может быть больше циклов, и вы должны работать с последними двумя циклами для каждого тельно, верно?

3. @TheGameiswar Я использую sql server 2014

4. У @Horaciux более 1 миллиона записей, и просто покажите мне две записи, которые нужно вычислить для всех записей

5. Почему бы просто не добавить эти формулы в свой запрос?