数据透视表空分化问题

时间:2017-06-14 13:30:59

标签: mysql pivot-table

我有一个不同类型的测试表,比如这个

id  lab# testType           result
72  700  Aerobic Plate Count NEG
73  701  Aerobic Plate Count NULL
74  701  E. Coliform         <10
75  701  Total Coliform      20
76  701  Yeast/Mold          NULL
77  702  Aerobic Plate Count NULL
78  702  E. Coliform         NULL

我已使用此代码

SELECT
    lab_number,
    MAX(IF(test_type='Aerobic Plate Count',result,NULL)) AS apc,
    MAX(IF(test_type='Total Coliform',result,NULL)) AS tc,
    MAX(IF(test_type='E. Coliform',result,NULL)) AS ec,
    MAX(IF(test_type='Yeat/Mold',result,NULL)) AS ym,
    MAX(IF(test_type='Salmonella VIDAS',result,NULL)) AS sv,
    MAX(IF(test_type='p.H.',result,NULL)) AS ph,
    MAX(IF(test_type='Solids',result,NULL)) AS sl
FROM
    test
group by
    lab_number;

生成数据透视表,以便我可以轻松显示所有结果并允许对其进行编辑。并非每个测试都以每种类型表示,因此很多值都是NULL。但是,尚未添加的结果也是NULL,有没有办法区分NULL结果和NULL因为没有条目?我可以使结果的默认值为NULL以外的其他值,但如果有另一种方式,我宁愿不这样做。

0 个答案:

没有答案