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固定写法代表结束;
查询出的结果如下: