..png (41.28 KB, 下载次数: 42)
--再练习一下我最讨厌的递归查询,先练习糖化血红蛋白小于90天违规的问题吧
with jichu as (select e2.jshid,e2.shfzhm,e2.xm,yyxmmc,zje,tcje,fyfssj,row_number() over(partition by e2.shfzhm order by fyfssj) rn
from eryuan join yb_jszd_ws e2 on eryuan.jshid=e2.jshid where yyxmmc like '糖化血红蛋白%'),
digui(jshid,shfzhm,xm,yyxmmc,zje,tcje,fyfssj,rn,canzhaoriqi,beizhu,违规金额,所有日期) as (
select jichu.*,fyfssj as canzhaoriqi,'首次' as beizhu,0 as 违规金额,
to_char(fyfssj,'yyyy-mm-dd') as 所有日期 from jichu where rn=1
union all
select jichu.jshid,jichu.shfzhm,jichu.xm,jichu.yyxmmc,jichu.zje,jichu.tcje,jichu.fyfssj,jichu.rn,
case when jichu.fyfssj-digui.canzhaoriqi>90 then jichu.fyfssj else digui.canzhaoriqi end as canzhaoriqi,
case when jichu.fyfssj-digui.canzhaoriqi>90 then '新的首次' else '非首次非新的首次' end as beizhu,
case when jichu.fyfssj-digui.canzhaoriqi>90 then 0 else jichu.tcje end as 违规金额,
(to_char(jichu.fyfssj,'yyyy-mm-dd') || '>>' || digui.所有日期) as 所有日期 from jichu
join digui on jichu.shfzhm=digui.shfzhm and jichu.rn=digui.rn+1
)
select digui.*,fyfssj-canzhaoriqi 相差几天 from digui order by shfzhm,rn
..png (73.89 KB, 下载次数: 40)
..png (72.61 KB, 下载次数: 2)

| 欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) | Powered by Discuz! X3.3 |