用case when语句实现对同一字段下查出的两种类型归类

闲话不多说,直接进入正题。

在查出的众多字段当中有一个type(类型)的字段,现要求是将该字段下的类型按照一定要求将两类合成一类显示。比如说有债券买入,债券分销买入,债券卖出,债券分销卖出这四种类型,现要求是将债券买入和债券分销买入合并为一个类型,显示债券买入。并当债券面值为空时就在另一张表里去债券面值。以上基本就是条件了。下面是语句

select fcode,
        fbus_type,
        to_char(fbus_date,'YYYY-MM-DD') as fbus_date,
       famount as amount,
       null as fzqmz,
case when fbus_type in('HG_YHJ_ZYSNHG','HG_YHJ_MDSNHG') then  fsettlement_amount - famount end as flxsr,
case when fbus_type in('HG_YHJ_ZYSZHG','HG_YHJ_MDSZHG') then  fsettlement_amount - famount end as flxzc
from T_FL_BUYBACK
where fbus_type in ('HG_YHJ_ZYSNHG',
                    'HG_YHJ_MDSNHG',
                    'HG_YHJ_ZYSZHG',

                    'HG_YHJ_MDSZHG' );

这里将'HG_YHJ_ZYSNHG','HG_YHJ_MDSNHG'这两种类型当做一种去处理来计算他的flxsr。

面值的取值语句(只粘贴了一点)

case when r.ffacevalue is not null then r.ffacevalue*r.fvolume

when r.ffacevalue is null then r.fface_value*r.fvolume end as fzqmz

就是当ffacevalue是空值时从另一张表取出他的面值(fface_value)去做计算。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值