SQL:显示每天的小计,某一天没有记录也要显示

对于这种需求,我们需要一个主表存储连续的日期,然后使用 left join 即可。

 1 declare @Daily table
 2 (
 3     日期 date
 4 )
 5 declare @start date = '2014-06-04'
 6 while @start <= '2014-06-27'
 7 begin
 8     insert into @Daily values(@start)
 9     set @start = DATEADD(DAY, 1, @start)
10 end