下面查询里的“健康状况”,怎么改成和体温一样,直接查询出正常人数和异常人数?( 就这段“CASE WHEN CHARINDEX(健康状况,'健康')>0 THEN '健康' ELSE '异常' END AS 健康状况 , count(1) 人数” 健康状况等于“健康”为正常,“健康状况”不等于“健康”为异常) select a.单位,a.班级,报告日期,时段, sum(case when 体温<37.3 then 1 else 0 end) 正常人数, sum(case when 体温>=37.3 then 1 else 0 end) 异常人数, CASE WHEN CHARINDEX(健康状况,'健康')>0 THEN '健康' ELSE '异常' END AS 健康状况 , count(1) 人数 from dbo.学生体温报告 a join dbo.学生基础信息表 b on a.姓名=b.学籍号 where 报告日期 between '${开始时间}' and '${结束时间}' ${if(len(班级)==0,"","and a.班级 in ('"+班级+"')")} ${if(len(单位)==0,"","and a.单位 in ('"+单位+"')")} group by a.单位,a.班级,时段,报告日期, CASE WHEN CHARINDEX(健康状况,'健康')>0 THEN '健康' ELSE '异常' END order by 报告日期 desc,班级 desc |
最佳回答 |
||||
1
|
|