case when的判断顺序_Oracle 查询中判断语句的写法case when then else end

在查询时可能会根据某个条件来判断显示数据,此时就用到case语句

下面是一个查询示例:

SELECT distinct a.certiType,

a.certiNo,

a.policyNo,

d.riskCode,

a.agentCode,

(case

when 'P' = a.certitype

then b.sumpremium

else c.chgpremium

end ) as sumpremium,

(select sacmain.disrate

from sacmain

where policyNo = a.policyno) as rate,

d.confirmNo,

d.uploadFlag

FROM sarealpayfee a,

sacmain b,

sapmain c,

sapolicyuploadplatformlog d,

sacitemcar e

WHERE a.policyno = b.policyno(+)

and a.policyno = e.policyno(+)

and a.certino = c.endorseno(+)

and a.certino = d.certino

and a.agentCode is not null

and nvl(d.uploadFlag, 0) in ('0', '1')

and a.accountno = '2120151103445'

and a.riskCode in ('0332', '0335')

and nvl(e.usenaturecode, 0) not in

('309009', '309008', '301006001', '301006002')

and nvl(a.chagFlag, 0) <> '2'

and (d.settleno is null or d.settleno = '2120151103445')

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值