SQL добавляет несколько процентов к значению при вычислении

#sql #sql-server

Вопрос:

Я хочу рассчитать новую цену на основе даты с помощью sql.
для базовой цены = 1000

Эскалация Эскалация % Новая Цена
1/1/2021 10% 1100
2/1/2021 5% 1155
3/1/2021 2% 1178.1

как это можно сделать без цикла или курсора

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

1. [New Price] = 1000 * (100 [Escalation %]) / 100

Ответ №1:

Для этого вам понадобятся 2 таблицы. Таблица цен (Дата, Цена) Таблица Эскалации (Дата, Эскалация)

Затем просто присоединитесь к таблице цен с базой эскалации на дату.

Образец запроса:

 SELECT  P.Date ,P.Price as Base_Price ,P.Price * E.Escalation as New_Price FROM Price P LEFT JOIN Escalation E ON P.Date = E.Date