操作思路:
1、把三个字段单独SELECT出后创建虚拟表中
CREATE VIEW XY处方药品 AS
SELECT 学期ID,month(看病日期) as 看病月份,药品名称1 as 药品名称,单位1 as 单位,sum(用量1) as 用量 from XY处方单 group by 药品名称1,单位1,学期ID,month(看病日期)
UNION ALL
SELECT 学期ID,month(看病日期) as 看病月份,药品名称2,单位2,sum(用量2) from XY处方单 where 用量2>0 group by 药品名称2,单位2,学期ID,month(看病日期)
UNION ALL
SELECT 学期ID,month(看病日期) as 看病月份,药品名称3,单位3,sum(用量3) from XY处方单 where 用量3>0 group by 药品名称3,单位3,学期ID,month(看病日期)
2、再用group by分类汇总
select 学期ID,看病月份,药品名称,单位,sum(用量) as 用量 from XY处方药品 group by 学期ID,看病月份,药品名称,单位 order by 药品名称 asc
本文介绍了一种使用SQL视图和分组查询来处理复杂医疗数据的方法。通过创建虚拟表并进行多级聚合操作,实现了对处方药品数据的有效分析。此方案能够帮助快速获取不同学期和月份下各种药品的使用情况。

被折叠的 条评论
为什么被折叠?



