--先月から1年分のカレンダーデータを取得する
DECLARE @from年月 date = dateadd(month,-12, GETDATE())
,@to年月 date = dateadd(month,-1, GETDATE());
SELECT convert(int,format(DATEADD(DAY, nbr - 1, @from年月),'yyyyMM')) AS 年月
FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY c.object_id ) AS Nbr
FROM sys.columns c
) nbrs
WHERE nbr - 1 <= DATEDIFF(DAY, @from年月, @to年月)
GROUP BY format(DATEADD(DAY, nbr - 1, @from年月),'yyyyMM') --日別データが取得されるのでグループ化している
日付データが取得できたら、CROSS JOIN や LEFT OUTER JOIN、UNION ALLなどで補完します。