create procedure searchcount @bdate datetime,@edate datetime as
--创建日期就餐人数临时表
SELECT getdate() d,0 as c INTO #data where 1=2
--根据起止时间生成临时表,将时间段内所有日期插入表内
--创建日期临时表
SELECT DATEADD(day,1,@bdate) d INTO #date where 1=2
--生成日期
DECLARE @num INT=0
DECLARE @h int
SELECT @h=DATEDIFF(day,@bdate,@edate)
WHILE(@num<=@h)
BEGIN
INSERT INTO #date values (DATEADD(day,@num,@bdate))
SET @num=@num+1
END
--定义就餐人数
DECLARE @cnt int
DECLARE datac CURSOR --定义游标
FOR (SELECT d FROM #date ) --查出需要的集合放到游标中
OPEN datac; --打开游标
FETCH NEXT FROM rooms INTO @d; --读取第一行数据
WHILE @@FETCH_STATUS = 0
BEGIN
--查询日期内就餐人数
select @cnt=count(*) from 报餐数据表 where @d between 开始日期 and 结束日期 and 是否通过审核=已审核
insert into #data(d,c) valuse(@d,@cnt)
FETCH NEXT FROM datac INTO @d; --读取第一行数据
END
CLOSE datac; --关闭游标
DEALLOCATE datac; --释放游标
select * from #data order by d
drop table #date,#data
给你写个存储过程,自己修改测试