1.原始数据
医院编号 | 病人编号 | 访视编号 | 检查项目 | 检查结果 | 结果判定 |
S-01 | P001 | V01 | 白细胞 | 2.79 | 是 |
S-01 | P001 | V01 | 血小板 | 1.41 | 否 |
S-01 | P001 | V02 | 白细胞 | 3.11 | 是 |
S-01 | P002 | V02 | 白细胞 | 1.23 | 是 |
S-02 | P001 | V01 | 白细胞 | 2.66 | 是 |
同一医院,会有不同病人
同一医院,同一病人,会有不同访视
同医院,同一病人,同一访视,会有不同的检查项目
2.目标结构
医院编号 | 病人编号 | 访视编号 | 白细胞 | 结果判定 | 血小板 | 结果判定 |
S-01 | P001 | V01 | 2.79 | 是 | 1.41 | 否 |
S-01 | P001 | V02 | 3.11 | 是 | ||
S-01 | P002 | V02 | 1.23 | 是 | ||
S-02 | P001 | V01 | 2.66 | 是 |
3.实现方法
CREATE TABLE XCG(
SITEID VARCHAR2(100),--医院编号
SUBJID VARCHAR2(100),--病人编号
VISIT VARCHAR2(100),--访视编号
TERM VARCHAR2(100),--检查项目
RESULT VARCHAR2(100),--检查结果
CLSIG VARCHAR2(100),--结果判定
)
SELECT SITEID,SUBJID,VISIT,
MAX(DECODE(TERM,'白细胞总',RESULT))WBC_1,
MAX(DECODE(TERM,'白细胞总数(WBC)',CLSIG))CLSIG_1,
MAX(DECODE(TERM,'血小板',RESULT))PLT_1,
MAX(DECODE(TERM,'血小板',CLSIG))CLSIG_2
FROM XCG group by SITEID, SUBJID,VISIT