select
c.报告日期,
a.年级,
a.班级,
a.学籍号
a.姓名
from dbo.学生基本信息表 a
join (select distinct 报告日期 from 学生体温报告) c
on 1=1
left join dbo.学生体温报告 b -- 过滤没有上报的学生信息
on a.学籍号 = b.姓名 and b.报告日期 = c.报告日期
where b.学籍号 is null -- 过滤班级直接在这个后面加过滤条件
order by c.报告日期 desc,a.年级,a.班级 desc,a.学籍号 desc
这个sql算出了每天没有上报的学生明细数据,你可以在这个结果上,去过滤对应班级的学生和全部学生信息。