Я знаю, что об этом спрашивали, но я совершенно сбит с толку.
Попытка запустить промежуточный итог по дням с использованием SQL Server 2008. Просматривал решения в других местах, но все равно был бы в полном недоумении.
В приведенном ниже коде показаны ежедневные продажи, но я не могу подсчитать промежуточную сумму. Посмотрел похожие решения здесь, но не повезло. Просмотрел разделы, порядок, CTE и т. д., но я еще не разобрался с SQL.
Буду признателен за помощь, мой код ниже. Я знаю, что это возвращает только общее количество, сгруппированное по дням...
SELECT
dim_invoice_date.invoice_date AS 'Invoice Date',
round(SUM(invoice_amount_corp),2) AS 'Sales'
FROM
fact_om_bud_invoice
JOIN
dim_invoice_date ON fact_om_bud_invoice.dim_invoice_date_key = dim_invoice_date.dim_invoice_date_key
WHERE
dim_invoice_date.current_cal_month IN ('Current')
AND fact_om_bud_invoice.budget_code IN ('BUDGET')
GROUP BY
dim_invoice_date.invoice_date
HAVING
ROUND(SUM(invoice_amount_corp), 2) <> 0
ORDER BY
'Invoice Date'
Это возвращает вывод:
Invoice Date Sales
-----------------------
4/10/2016 24,132
5/10/2016 15,849
6/10/2016 24,481
7/10/2016 10,243
10/10/2016 42,398
11/10/2016 24,187
Требуемый формат примерно такой:
Invoice Date Sales Running Sales
-------------------------------------------
04/10/2016 24,132 24,132
05/10/2016 15,849 39,981
06/10/2016 24,481 64,462
07/10/2016 10,243 74,705
10/10/2016 42,398 117,103
11/10/2016 24,187 141,290
dim_invoice_date — числовое поле, оно ищет отдельную таблицу дат для отображения в виде даты и времени.