MySQL-依据字段值返回结果(CASE WHEN)

1.需求:一张表,根据就诊类型(A-门诊,B-住院),取出对应的日期(门诊/住院开始日期,门诊/住院结束日期)
2.表中字段说明:
    TherapyClassification-就诊类型,
    MZEnterDate-门诊开始日期",
    MZOutDate-门诊结束日期",
    ZYEnterDate-住院开始日期",
    ZYOutDate-住院结束日期",
    
SQL语句:    

SELECT
    TherapyClassification 就诊类型,
    CASE
WHEN TherapyClassification = 'A' THEN
    MZEnterDate
WHEN TherapyClassification = 'B' THEN
    ZYEnterDate
ELSE
    '无'
END 开始日期,
 CASE
WHEN TherapyClassification = 'A' THEN
    MZOutDate
WHEN TherapyClassification = 'B' THEN
    ZYOutDate
ELSE
    '无'
END 结束日期
FROM
    table_name;

3.说明:
1)结果集包含3个字段-就诊类型、开始日期、结束日期
2)当就诊类型='A'时,取门诊的时间,'B'时,取住院的时间,其他为无
3)END 后面声明的是别名

4.语法:CASE [col_name] WHEN [value1] THEN [result1]…ELSE [default] END

5.查询资料中写的详细的。http://blog.csdn.net/qq_30038111/article/details/79611167

猜你喜欢

转载自blog.csdn.net/JustDI0209/article/details/108802904