PL/SQL中查询出中医内科,每个人开了多少项目,一共多少钱,每个单列出来。其中,里面包括(开单科室,开单人,药品收入,检查收入,治疗收入),写成报表
时间: 2024-10-16 16:16:46 浏览: 42
在PL/SQL(Oracle数据库的 procedural language for SQL)中,如果你想要创建一个报表来显示中医内科每位医生的开单详情,包括科室、姓名、药品收入、检查收入和治疗收入,你可以使用SQL查询联合几个表,然后按照科室和医生分组并计算总收入。假设你有如下的三个基本表:
1. `patients` (包含患者信息)
2. `prescriptions` (包含处方信息,如科室、医生和收入项)
3. `income_details` (详细列出每个收入项)
下面是一个示例查询,展示如何编写这个报表:
```sql
SELECT p.patient_name AS 开单人,
ps.department AS 开单科室,
SUM(pdi.medical_income) AS 总收入
FROM patients p
JOIN prescriptions pr ON p.patient_id = pr.patient_id
JOIN prescription_items pi ON pr.prescription_id = pi.prescription_id
JOIN income_details idi ON pi.item_id = idi.item_id
WHERE ps.department = '中医内科'
GROUP BY p.patient_name, ps.department
ORDER BY ps.department, p.patient_name;
```
这个查询首先通过`JOIN`操作连接了相关的表,筛选出中医内科的数据,然后按科室和人员分组,并对每种收入类型的总金额进行求和。
阅读全文