Предположим, у меня есть таблица в SQL Сервер с именем Budget_Spend, подобный этому
Я знаю, с правильной группировкой по сумме и порядком по достижению следующей таблицы ( это довольно очевидно)
Однако я не знаю, как реплицировать столбец "Aviable", построенный по логике c:
- За первый месяц это бюджет - потратить - налоги
- Для следующих месяцев рассчитывается как ПРЕДЫДУЩАЯ (Доступная) -CURRENT (Потратить) -CURRENT (Налоги)
У меня есть попытался использовать функцию LAG без успеха (большинство моих попыток не выполнялось из-за синтаксических проблем).
Есть идеи сделать? Я полагаю, что мне нужно LAG и, возможно, CASE, чтобы получить первое значение.
Это DDL для создания таблицы
/* CREATE TABLE */
CREATE TABLE Budget_Spend(
Month DOUBLE,
Budget DOUBLE,
Spend DOUBLE,
Taxes DOUBLE);
/* INSERT */
INSERT INTO Budget_Spend(Month, Budget, Spend, Taxes) VALUES
(1, 1000, 75, 11.25);
INSERT INTO Budget_Spend(Month, Budget, Spend, Taxes) VALUES
(1, 1000, 25, 3.75);
INSERT INTO Budget_Spend(Month, Budget, Spend, Taxes) VALUES
(2, 1000, 200, 30);
INSERT INTO Budget_Spend(Month, Budget, Spend, Taxes) VALUES
(3, 1000, 150, 22.5);
INSERT INTO Budget_Spend(Month, Budget, Spend, Taxes) VALUES
(4, 1000, 10, 1.5);
INSERT INTO Budget_Spend(Month, Budget, Spend, Taxes) VALUES
(4, 1000, 10, 1.5);