Oracle 提取每一小时的数据需求如下

表名称:TEMPE
字段名称及含义: 病区号,姓名,录入时间,时间点(此字段是24小时制每小时),体温,说明(此字段记录病人是否在院,还是外出、还是手术等情况,存储内容为汉字‘手术‘,’外出‘,’离院‘),护士姓名

需要通过时间点区分(1点、2点、3点、、、、、),病人每小时体温是否有录入
例如病人普拉提1点、
判断条件是体温字段为空,说明字段不为空,1点处显示说明字段内容
又因体温字段不为空,说明字段不为空,此、1点处显示‘录入有误’
以此类推,24小时都是如此。
呈现如下内容
最新回答
我只是个过路人

2024-06-11 04:08:28

你要求的表有点问题
(1)护士是会换班的,如果按照这么显示,那么一天都是一个护士,这个明显不可能。那么护士换班后怎么显示?
(2)手术中的体温是全程监倥并且记录的,所以个人认为在说明为手术的时候,应该是有体温记录的。
(3)离院后,应该不会再有体温的测量记录,还有,病人怎么请假?
如果按照本身的要求写出来,并不是十分困难,只要就是group by+case when+max
select 病区号,姓名,护士姓名,max(case when to_char(时间点,'hh24')='01' and 说明 is null then 体温 when to_char(时间点,'hh24')='01' and 说明 is not null and 体温 is null then 说明 when to_char(时间点,'hh24')='01' and 说明 is not null and 体温 is not null '录入有误' end) 1点,后面的类似一直写到24点 from table group by 病区号,姓名,护士姓名
追问
谢谢您的帮助
1、护士换班这个可以通过规章制度调整、护士一般分为坐班也就是电脑处理任务,另一种巡班作为输液等实际操作
2、病房中的护士不管手术中内容,手术中的内容归术中护士管理记录,另一套系统。
离院等只是病人一个状态、暂时性质,并非出院
您的语句貌似执行有点问题、、、能否在帮忙看下
追答
你的时间点是什么格式的,看起来很象date类型,不过似乎又不是,是什么数据类型?至于说问题,什么问题,报错是什么?还是判断那块不对。
我给的主要是一个思路,不可能一次到位,有些还是要修补的,这就是不在现场的问题,没有见到实际的数据总会有些问题。
比如 to_char(时间点,'hh24')的结果是1还是01,我就闹不太清楚,这些是需要你在现场实验的。