Прежде всего, я не думаю, что это хорошая идея иметь номер как псевдоним. Используйте символ или слово вместо этого.
Я бы поставил критерии в join.
SELECT T1.Label, COUNT(T2.values)
FROM Table1 T1
LEFT JOIN Table2 T2 ON T1.fk = T1.pk
AND T2.Date BETWEEN '20100101' AND '20101231'
GROUP BY T1.Label
Другие комментарии: