27,579
社区成员
发帖
与我相关
我的任务
分享
--猜一下吧,可能是這個意思
create table #T(be datetime,en datetime, value int)
insert into #T select '2008-4-1','2008-4-10',15
insert into #T select '2008-4-11','2008-4-20',20
declare @be datetime,@en datetime
set @be='2008-4-9'
set @en='2008-4-11'
declare @t table ([date] datetime)
insert into @t select @be
while @be<@en
begin
insert into @t select dateadd(day,1,@be)
set @be=dateadd(day,1,@be)
end
select [date], isnull(value,0) as value
from @t A
left join #T
on A.[date] between #T.be and #T.en
/*
date value
------------------------------------------------------ -----------
2008-04-09 00:00:00.000 15
2008-04-10 00:00:00.000 15
2008-04-11 00:00:00.000 20
*/
drop table #t