原结果集
这是一个医院的收卫生数据表
月 科室 岗位 名称 场景 擦手 洗手 手套 无操作
4 BICU 医生 呼吸 cc 接触病人前 0 1 0 0
4 BICU 医生 医生aa 接触病人前 1 0 0 0
5 BICU 医生 呼吸 cc 接触病人后 0 1 0 0
5 BICU 医生 护士bb 接触病人后 0 1 1 2
5 BICU 医生 护士bb 接触病人前 0 1 0 1
5 BICU 医生 护士bb 接触体液后 1 1 0 0
5 BICU 医生 护士bb 接触物品后 0 1 0 1
5 BICU 医生 护士bb 无菌操作前 1 1 0 0要根据不同的场景转换显示
共有5个场景 --接触病人前 --无菌操作前 --接触体液后 --接触病人后 --接触物品后
根据每个人的每个场景把(擦手 洗手 手套 无操作) 重新转成列头
下面是部分列头
月 科室 岗位 名称 接触病人前擦手 接触病人前洗手 接触病人前手套 接触病人前无操作 接触病人后擦手 接触病人后洗手 接触病人后手套 接触病人后无操作……
这是一个医院的收卫生数据表
月 科室 岗位 名称 场景 擦手 洗手 手套 无操作
4 BICU 医生 呼吸 cc 接触病人前 0 1 0 0
4 BICU 医生 医生aa 接触病人前 1 0 0 0
5 BICU 医生 呼吸 cc 接触病人后 0 1 0 0
5 BICU 医生 护士bb 接触病人后 0 1 1 2
5 BICU 医生 护士bb 接触病人前 0 1 0 1
5 BICU 医生 护士bb 接触体液后 1 1 0 0
5 BICU 医生 护士bb 接触物品后 0 1 0 1
5 BICU 医生 护士bb 无菌操作前 1 1 0 0要根据不同的场景转换显示
共有5个场景 --接触病人前 --无菌操作前 --接触体液后 --接触病人后 --接触物品后
根据每个人的每个场景把(擦手 洗手 手套 无操作) 重新转成列头
下面是部分列头
月 科室 岗位 名称 接触病人前擦手 接触病人前洗手 接触病人前手套 接触病人前无操作 接触病人后擦手 接触病人后洗手 接触病人后手套 接触病人后无操作……
select 月,科室,岗位,名称,
sum( case when 场景='接触病人前' then 擦手 else 0 end) 触病人前擦手,
sum(case when 场景='接触病人前' then 洗手 else 0 end) 触病人前洗手,
--加其他的
from 表名
group by 月,科室,岗位,名称
4 BICU 医生 医生aa 接触病人前 1 0 0 0
……-》
接触病人前4个数据 接触病人后4个数据 ……5个场景
4 BICU 医生 呼吸 cc 0 1 0 0 1 0 0 0 …… 各个场景对应的4个数据
4 BICU 医生 医生 aa 1 0 0 0 3 5 2 7 …… 各个场景对应的4个数据
5 BICU 医生 医生 aa 1 0 0 3 3 5 2 6 …… 各个场景对应的4个数据
……