ПОКАЗАТЬ ВСЕ Данные дат между двумя датами; если для определенной даты не существует строк, то показывать ноль во всех столбцах

Я хочу показать все даты между двумя датами, когда отсутствуют какие-либо данные о дате, тогда в столбце val должно отображаться ноль.

declare @temp table (
id int identity(1,1) not null,
CDate smalldatetime ,
val int
)

ВСТАВИТЬ ЗАЯВЛЕНИЕ ДЛЯ ПРОВЕРКИ ДАННЫХ

insert into @temp select '10/2/2012',1
insert into @temp select '10/3/2012',1
insert into @temp select '10/5/2012',1
insert into @temp select '10/7/2012',2
insert into @temp select '10/9/2012',2
insert into @temp select '10/10/2012',2
insert into @temp select '10/13/2012',2
insert into @temp select '10/15/2012',2

Получить записи между первым днем месяца и сегодня

select * from @temp where CDate between '10/01/2012' AND '10/15/2012'

Когда я запускаю этот запрос, он показывает мне все данные между этими двумя датами, но я также хочу включить пропущенные даты сval=0

SQL FIDDLE с выборочными данными

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

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