Подсчет записей по годам и месяцам, включая ноль

Я использую сервер SQL Server Compact Edition и хочу подсчитать количество комментариев в месяц, которые соответствуют определенному учебнику в пределах диапазона дат и включают месяцы с нулевым счетом. Я знаю, что мне нужно присоединить таблицу «календарь» к моей таблице, чтобы учесть пропущенные месяцы, но мне нужна помощь в правильной реализации этого.

У меня есть таблица всех комментариев из разных уроков. Эта таблица называется Комментарии, а нужные мне столбцы[Tutorial] (nvarchar) а также[DateAdded] (DateTime).

Tutorial |  DateAdded  
---------+-------------
sample   |  2013-09-02  
sample   |  2013-09-04
sample   |  2013-09-12
sample   |  2013-09-12
example  |  2013-09-15
sample   |  2013-09-16
sample   |  2013-09-21
sample   |  2013-09-30
sample   |  2013-10-01   
sample   |  2013-11-11
sample   |  2013-11-11
example  |  2013-11-14
sample   |  2013-11-15
sample   |  2013-11-19
sample   |  2013-11-21
sample   |  2013-11-25
sample   |  2014-02-04
sample   |  2014-02-06  

И у меня естьCalendar таблица со столбцом года и месяца выглядит так:

Year | Month
-----+------
2000 | 01
2000 | 02
.    | .
.    | .
.    | .
2099 | 12

Если бы я искал ежемесячное количество «выборочных» комментариев за прошлый год (по состоянию на 14 февраля 2014 года), то идеальным результатом было бы:

Tutorial | Year | Month | Count
---------+------+-------+------
 sample  | 2013 |  09   |  7
 sample  | 2013 |  10   |  1
 sample  | 2013 |  11   |  6
 sample  | 2013 |  12   |  0
 sample  | 2014 |  01   |  0
 sample  | 2014 |  02   |  2

Мне удалось выяснить, как выполнить следующий запрос, но мне нужны месяцы, у которых нет комментариев, чтобы также вернуть 0.

SELECT 
     Tutorial, 
     datepart(year, DateAdded) AS Year, 
     datepart(month, DateAdded) AS Month, 
     COUNT(*) AS Count From Comments 
WHERE 
     DateAdded > DATEADD(year,-1,GETDATE())  
       AND 
     Tutorial='sample' 
GROUP BY 
     Tutorial, 
     datepart(year, DateAdded), 
     datepart(month, DateAdded)

Вывод с использованием примеров данных сверху.

Tutorial | Year | Month | Count
---------+------+-------+------
 sample  | 2013 |  09   |  7
 sample  | 2013 |  10   |  1
 sample  | 2013 |  11   |  6
 sample  | 2014 |  02   |  2

Я знаю, что мне нужно присоединиться к таблицам, но я не могу понять, какое объединение использовать или как правильно его реализовать. Помните, что это для SQL Server CE, поэтому не все команды из SQL Server могут быть использованы.

Большое спасибо заранее!

Ответы на вопрос(2)

Ваш ответ на вопрос