SELECT BH,MC,SUM(JE)JE,SUM(RC)RC FROM
(SELECT BH,MC,SUM(JE)JE,SUM(SIGN(JE)) RC FROM
(SELECT C.BH,C.MC,SUM(B.JE) JE,(SUBSTR(B.XMLY,1,DECODE(INSTR(B.XMLY,'_'),0,LENGTH(B.XMLY),INSTR(B.XMLY,'_')-1))) XMLY
FROM MZSFXX A, MZSFMXXX B, YLFYTJB C, YLFYXMGBB D, MZGHXX E
WHERE A.NO = B.NO AND B.FYTJDM = C.BH AND C.XMGB = D.BH AND B.NO >=2020110100000 AND B.NO <=2021010200000 AND TRUNC (A.FSSJ) BETWEEN TO_DATE('2020-12-01','YYYY-MM-DD')
AND TO_DATE('2020-12-31','YYYY-MM-DD')
AND INSTR(',ZL,YZ,JC,HY,',SUBSTR(NVL(B.XMLY,''),1,2)) > 0
AND INSTR(',,06,08,13,22,23,24,,', ','||D.BH||',') > 0
AND A.MZH =E.MZH AND E.MZLX <>'2' GROUP BY C.BH,C.MC,(SUBSTR(B.XMLY,1,DECODE(INSTR(B.XMLY,'_'),0,LENGTH(B.XMLY),INSTR(B.XMLY,'_')-1)))) F GROUP BY BH,MC
oracle代码转换sql
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 憧憬blog 2023-03-14 22:08关注
这是一段Oracle SQL语句,查询的是某医疗机构的门诊收费信息。具体的表名和字段含义需要得到问题的提出者提供。
这段代码主要是进行了多层嵌套的子查询,通过对各个表的连接和筛选,计算出指定时间范围内医疗机构的门诊收费信息。其中,最后通过对子查询结果进行分组,得到了各项收费类型的总额和人次。
解决 无用评论 打赏 举报