闲话不多说,直接进入正题。
在查出的众多字段当中有一个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)去做计算。