日期:2014-05-17  浏览次数:20861 次

请教如何获取这个计费统计数据?
问题:
表table_a
主要字段说明:
feetype:计费类型  
feecode:信息费
fixedfee:包月费或封顶费  
seriveid:   业务代码
记该条扣费的金额为   y  

计费规则:
feetype   =   00   ,   y   =   0
feetype   =   01   ,   y   =   feecode
feetype   =   02或者   04   ,   y   =   fixedfee
feetype   =   03   ,   y   =   min(feecode,fixedfee)  

统计要求:
根据serviceid   来统计   每个业务的扣费金额

能否可以通过select语句就可以处理以上计费规则,就完成对每个serviceid的扣费金额的统计呢?
 



------解决方案--------------------
update table_a set y=decode(feetype,0,0,1,feecode,2,fixedfee,4,fixedfee,
3,decode(sign(feecode-fixedfee),1,fixedfee,feecode),0);
------解决方案--------------------
decode decode(字段,
条件1,结果1, //字段= '条件1 ',显示的就是 结果1.可以一直写下去
条件2,结果2,
不符合) //都不符合时的操作
sign sign(n).n> 0,取1;n=0,取0;n <0,取-1.