case when else
/* 产销机构 行政村 高病累计患者建党数 高病本月管理数(一年一次服务) 高病本月规范管理数(一年四次随访) 高病本月体验人数高病累计体检人数糖病本月新增患者建党数糖病累计患者建党数 糖尿病本月管理数 糖尿病本月规范管理数 糖尿病本月体检人数 糖尿病累计体检人数
*/
/*case when else语法要点说明如下:
1、以CASE开头,以END结尾
2、分支中WHEN 后跟条件,THEN为显示结果
3、ELSE 为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加
4、END 后跟别名
*/select * from(
select jg.简称 as 机构,
jwh.名称 as 行政村,
count(distinct case when rqfl.id = '34F596B0-03CE-4E51-B6B3-A4927B92AE87' thengrza.个人id
end) as 高病累计患者建党数,
count(distinct case
when rqfl.id = '7553A063-99F8-4DB9-BDAC-D21C8BBDB243' then grza.个人id
end) as 糖病累计患者建档数,
count(distinct case
when fwxmml.id = '667C2146-BA8C-4937-9ACC-A7D8DB6C2712' and fwhdjl.登记时间 >=to_date('2012-03-01', 'yyyy-mm-dd')
and fwhdjl.登记时间 =to_date('2011-03-01', 'yyyy-mm-dd')
andfwhdjl.登记时间 =to_date('2012-03-01','yyyy-mm-dd')
and fwhdjl.登记时间 =to_date('2012-03-01','yyyy-mm-dd')
and fwhdjl.登记时间 4 and 糖尿病随访人数>4
/*求当前机构下姓名和高血压随访人数的总人数*/
select count(1)
from (
select gr.姓名, count(1) 高血压随访人数
from 个人信息 gr,
机构 jg,
服务活动记录 fwhdjl,
服务项目目录 fwhdxmml where gr.当前机构id = jg.资源id
and fwhdjl.个人id = gr.id
and fwhdjl.项目id = fwhdxmml.id
and fwhdxmml.名称 = '高血压随访'
and fwhdjl.登记时间 >= to_date('2011-03-01', 'yyyy-mm-dd')
and fwhdjl.登记时间 = 4
页:
[1]