如下:
drop table tempdate
declare @sdate datetimedeclare @endtime datetimeset @sdate = '2000/1/1'set @endtime='2015/1/31'select DATEADD(dd,ROW_NUMBER() over( order by ''),@sdate) as date into tempdate from master..spt_values where type = 'P' and DATEADD(dd,number,@sdate) <= DATEADD(mm,0,@endtime)select * from master..spt_values where type='P'
select a.date,count=case when b.count is null then 0 else b.count end from tempdate a
left join (select '2015/1/1' as data,'1' as count
union allselect '2015/1/2' as data,'2' as countunion allselect '2015/1/3' as data,'3' as countunion allselect '2015/1/4' as data,'4' as countunion allselect '2015/1/5' as data,'5' as count) b on a.date=b.data