如何对照两个数据列查询出没有及时填报的信息

在下面两个数据表里,在“学生体温报告”里,学生姓名为学籍号,作为主键。

如何在普通报表里,实现这样的效果:班级控件选择班级时,显示班级没有填报的学生姓名,班级控件不选择班级时,显示出全校没有填报的学生姓名。

SXV5RO]G)UMH~CKGEHIRO)U.png



FineReport nxwzqy1 发布于 2020-4-11 15:15 (编辑于 2020-4-11 16:33)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
3
yiyemeiyingLv4高级互助
发布于2020-4-11 15:56(编辑于 2020-4-11 15:58)
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算出了每天没有上报的学生明细数据,你可以在这个结果上,去过滤对应班级的学生和全部学生信息。

最佳回答
0
指间沙Lv6中级互助
发布于2020-4-12 10:42

image.png

image.png

image.png


  • 3关注人数
  • 501浏览人数
  • 最后回答于:2020-4-12 10:42
    请选择关闭问题的原因
    确定 取消
    返回顶部