Сумма значений до определенной даты - PullRequest
0 голосов
/ 24 июня 2018

Я борюсь с правильным синтаксисом для следующего вопроса: Я хотел бы знать, для каждого конца месяца, за многолетний период, сколько дочерних компаний принадлежало компании. До сих пор я выполнял ту же операцию с суммой всех дочерних компаний, которые были созданы до этого. конец конкретного года (скажем, 2008, 2009, 2010 ...).

Это синтаксис, который я использовал для суммы на конец года: ВЫБЕРИТЕ ГОД ([Sub]. [Год]) AS [Год], Sub. [ID], Sub. [ИМЯ], СУММА (IIf (ГОД (Sub.year)> = ГОД (Sub. [Дата регистрации]) , 1,0)) AS [No of Subs] FROM Sub GROUP BY YEAR (Sub. [Год]), Sub. [ID], Sub. [NAME];

Текущий вывод синтаксиса

Однако я просто не могу понять, как выполнить то же упражнение в конце месяца. Пробовал использовать "date", "dateserial", "datediff", "months" ... вместо "YEAR".

К вашему сведению: для каждого конца месяца у меня есть точная дата в базовой таблице «Sub».

Буду очень признателен за вашу поддержку. Большое спасибо!

1 Ответ

0 голосов
/ 24 июня 2018

Это, вероятно, подойдет:

SELECT 
    Format([Sub].[year], "yyyymm") AS [YearMonth], 
    Sub.[ID], 
    Sub.[NAME], 
    SUM(IIf(Format([Sub].[year], "yyyymm") >= Format(Sub.[Date of incorporation], "yyyymm"), 1, 0)) AS [No of Subs]
FROM 
    Sub
GROUP BY 
    Format([Sub].[year], "yyyymm") AS [YearMonth], 
    Sub.[ID]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...