欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > 分享一个sql统计的客户需求

分享一个sql统计的客户需求

2025/3/16 17:05:44 来源:https://blog.csdn.net/weixin_45065854/article/details/146260908  浏览:    关键词:分享一个sql统计的客户需求

分享个最近的一个需求

领导想要知道各个时间段,各个科室,哪些是预出院的患者,哪些是临时出院的患者,在我看来对于系统来说好像没有什么好的界定方式,我就细问下应该如何界定(防止查错背锅)


在我再次确认下,得到的是只要是出院时间在早上12点前,并且开有今日出院+明日出院 这两条医嘱的就算是预出院患者,还需要查开了今日出院,没开明日出院的以及两者都没开立的


那么,我们要写的sql就是
字段1:(出院时间)字段2:(科室名词)字段3:(12点前+今日出院+明日出院)字段4:(全天+今日出院+无明日出院)字段5:(全天+无今日出院+无明日出院)
这个查询统计的难点主要在于,医嘱表是不止今明出院这两条医嘱的,就需要换个思路去解决
字段3好说,in('今日出院','明日出院')即可
字段4需要 先查出今日出院,再查出明日出院,最后把今日出院总数-明日出院总数,也就是(今日出院总数)-(明日出院总数)
字段5则是 (查出科室带出院时间的人)-(今日出院总数)-(明日出院总数)

最后需要按科室汇总,时间排序
以下是实际sql,有好的优化思路也可以分享下

SELECT SUBSTR(i3.HOSPITAL_DISCHARGE_TIME, 1, 8) AS discharge_date,i3.DEPT_NAME, COUNT(DISTINCT CASE WHEN io.ipid IS NOT NULL THEN i3.IPID END) AS 有今明,COUNT(DISTINCT CASE WHEN fo.ipid IS NULL THEN i3.IPID END) AS 有今无明,COUNT(DISTINCT CASE WHEN io.ipid IS NULL THEN i3.IPID END) AS 今明都无
FROM adt.INPATIENT i3
LEFT JOIN (SELECT mo.ipidFROM adt.INPATIENT i2JOIN inpord.MEDICAL_ORDER mo ON i2.IPID = mo.IPIDWHERE mo.ORDER_code = '938' AND i2.HOSPITAL_DISCHARGE_TIME >= '20250301000000') o938 ON i3.IPID = o938.ipid
LEFT JOIN (SELECT mo.ipidFROM adt.INPATIENT i2JOIN inpord.MEDICAL_ORDER mo ON i2.IPID = mo.IPIDWHERE mo.ORDER_code = 'F00000099821' AND i2.HOSPITAL_DISCHARGE_TIME >= '20250301000000') fo ON i3.IPID = fo.ipid
LEFT JOIN (SELECT DISTINCT i2.ipidFROM adt.INPATIENT i2JOIN inpord.MEDICAL_ORDER mo ON i2.IPID = mo.IPIDWHERE mo.ORDER_code IN ('938', 'F00000099821') AND i2.HOSPITAL_DISCHARGE_TIME >= '20250301000000'AND SUBSTR(i2.HOSPITAL_DISCHARGE_TIME, 9, 4) <= '1200'  ) io ON i3.IPID = io.ipid
WHERE i3.HOSPITAL_DISCHARGE_TIME IS NOT NULLAND i3.HOSPITAL_DISCHARGE_TIME >= '20250301000000'AND SUBSTR(i3.HOSPITAL_DISCHARGE_TIME, 5, 4) = '0301'  AND i3.dept_name != '测试'
GROUP BY SUBSTR(i3.HOSPITAL_DISCHARGE_TIME, 1, 8), i3.DEPT_NAME
ORDER BY discharge_date ASC;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词