Możesz wysłać zapytanie do tabeli z wartościami 1-12 i lewym zewnętrznym sprzężeniem w wyniku.
Oto przykład wykorzystujący zmienną tabeli zamiast zapytania i CTE do zbudowania tabeli z liczbami.
declare @T table
(
Month int
)
insert into @T values(1)
insert into @T values(1)
insert into @T values(1)
insert into @T values(3)
insert into @T values(3)
;with Months(Month) as
(
select 1
union all
select Month + 1
from Months
where Month < 12
)
select M.Month,
count(T.Month) Count,
isnull(sum(T.Month), 0) Sum
from Months as M
left outer join @T as T
on M.Month = T.Month
group by M.Month
Wynik:
Month Count Sum
----------- ----------- -----------
1 3 3
2 0 0
3 2 6
4 0 0
5 0 0
6 0 0
7 0 0
8 0 0
9 0 0
10 0 0
11 0 0
12 0 0