【SQL提数】case..when..then..end的使用

1.用实例说明,拿出所在项目的一个测试环境的表,表中的数据如下:

我们想要获取到同一个进件流水号(business_No)下的来源于不同评分来源的评分,且按照横进行显示:此时采用case..when..then..end脚本进行实现,具体如下:

select business_NO as '进件流水号' ,
max(case score_resource when '01' then score end )量信分,
max(case score_resource when '06' then score end)芝麻分,
max(case score_resource when '0803' then score end)基本信息分,
max(case score_resource when '0806' then score end)分项分
from cf_direct_baseloaninfo_scoreinfo group by business_no;

说明如下:

1.max代表所有,是一种固定写法;

2.case后面跟着的是需要由列转为行显示的部分;

3.when后面跟着的是具体的进件流水号下的来源;

4.then后面跟着的是when后面对应的值;

5.end固定写法代表结束;

查询出的结果如下:

原文地址:https://www.cnblogs.com/haibaowang/p/7084954.html