#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