本文主要是介绍按天统计医师工作量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Select * From (
Select n.科室,
n.姓名,
Sum(Case When 实收金额 > 0 And 实收金额 < 30 Then 1 Else 0 End) "大于0小于30",
Sum(Case When 实收金额 >= 30 And 实收金额 < 50 Then 1 Else 0 End) "大于30小于等于50",
Sum(Case When 实收金额 >= 100 Then 1 Else 0 End) "大于等于100"
From (Select (Select 名称 From 部门表 m Where m.Id = b.执行部门id) 科室,
(Case When a.开单人 In(Select i1.姓名 From 人员性质说明 i,人员表 i1 Where i.人员Id=i1.Id And i.人员性质='医生') Then a.开单人 Else a.执行人 End) 姓名,
a.病人id,
To_Char(a.登记时间, 'yyyy-mm-dd') 登记时间,
Sum(a.实收金额) 实收金额
From 门诊费用记录 a, 病人挂号记录 b
Where (a.挂号id = b.Id Or (a.No = b.No And a.病人id = b.病人id))
And a.收费类别 Not In ('4', '5', '6', '7')
And a.记录状态<>0
And a.登记时间 Between
To_Date('2024-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') /*E0*/
And /*B1*/
To_Date('2024-01-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS') /*E1*/
--And b.id=1602774
Group By (Case When a.开单人 In(Select i1.姓名 From 人员性质说明 i,人员表 i1 Where i.人员Id=i1.Id And i.人员性质='医生') Then a.开单人 Else a.执行人 End),
a.病人id,
To_Char(a.登记时间, 'yyyy-mm-dd'),
b.执行部门id
Having Sum(a.实收金额) > 0) n
Group By n.科室, n.姓名
Order By n.科室,n.姓名
) Where 姓名 Is Not Null
And 大于0小于30+大于30小于等于50+大于等于100<>0
这篇关于按天统计医师工作量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!