В приведенной ниже запрос возвращает точную информацию, я просто не везло, пытаясь сделать это:Pending Ежемесячный SQL Считает
1) Более динамичный, так что я не повторять одну и ту же строку кода каждый месяц
2) отформатированный по-разному, так что всего 2 столбцы месяца + года необходимы для просмотра отложенных отсчетов по FIELD1 + FIELD2
Пример коды (в основном, сумма, когда (ОТКРЫТАЯ дата до/в последний день месяца) и (ЗАКРЫТЬ дата наступает после месяца ИЛИ она все еще открыта)
SELECT
SUM(CAST(case when OPENDATE <= '2014-11-30 23:59:59'
and ((CLOSED >= '2014-12-01')
or (CLOSED is null)) then '1' else '0' end as int)) Nov14
,SUM(CAST(case when OPENDATE <= '2014-12-31 23:59:59'
and ((CLOSED >= '2015-01-01')
or (CLOSED is null)) then '1' else '0' end as int)) Dec14
,SUM(CAST(case when OPENDATE <= '2015-01-30 23:59:59'
and ((CLOSED >= '2015-02-01')
or (CLOSED is null)) then '1' else '0' end as int)) Jan15
,FIELD1,FIELD2
FROM T
GROUP BY FIELD1,FIELD2
Результаты:
FIELD1 FIELD2 NOV14 DEC14 JAN15
A A 2 5 7
A B 6 8 4
C A 5 6 5
...
Вместо:
COUNT FIELD1 FIELD2 MO YR
14 A A 12 2014
18 A B 12 2014
16 C A 1 2015
...
Есть ли способ, чтобы получить это в одном кадре? Извините, если это повторяющаяся тема, я просмотрел некоторые доски, и они помогли мне получить закрытие счета ... но используя диапазон между двумя полями даты, мне не повезло.
Заранее спасибо
Можете ли вы добавить еще образец ввода и требуемый выход? и создать 'sqlfiddle.com'demo? –