oracle case 小于,case 和 where 的使用问题

select

ga.gl_account_code || ga.gl_account_name as gl_account_name

,curr.currency_code || curr.currency_name as currency_name

,cus.customer_code || cus.customer_name as customer_name

,ga.gl_account_id

,sum(nvl(ad.currency_posted_debit,0))-sum(nvl(ad.currency_posted_credit,0)) as currency_posted_sum_credit

,sum(nvl(ril.curr_debit_amount,0))-sum(nvl(ril.curr_credit_amount,0)) as curr_credit_sum_amount

,(sum(nvl(ad.currency_posted_debit,0))-sum(nvl(ad.currency_posted_credit,0)))- (sum(nvl(ril.curr_debit_amount,0))-sum(nvl(ril.curr_credit_amount,0))) as currency_credit_sum_balance

,sum(nvl(ad.posted_debit,0))-sum(nvl(ad.posted_credit,0)) as posted_sum_credit

,sum(nvl(ril.debit_amount,0))-sum(nvl(ril.credit_amount,0)) as credit_sum_amount

,(sum(nvl(ad.posted_debit,0))-sum(nvl(ad.posted_credit,0)))  - (sum(nvl(ril.debit_amount,0))-sum(nvl(ril.credit_amount,0))) as credit_sum_balance

,(case when (sum(nvl(ad.posted_credit,0))- sum(nvl(ril.credit_amount,0))) = 0

and (sum(nvl(ad.currency_posted_credit,0))-sum(nvl(ril.curr_credit_amount,0))) = 0

then '${balance}'

else '${unBalance}'

end) as balcance

from receivable_init_header rih

left join account_daily ad on (ad.gl_account_id = rih.gl_account_id or ad.flag != 'N')

left join receivable_init_lines ril on rih.receivable_init_id = ril.receivable_init_id

left join customer cus on rih.customer_id = cus.customer_party_id

left join currency curr on curr.currency_id = rih.currency_id

left join gl_account ga on ga.gl_account_id = rih.gl_account_id

case when ('${glAccountId}' is not null

then where rih.receivable_type_id = 'I_A_R'

and rih.gl_account_id = '${glAccountId}')

else

where  rih.receivable_type_id = 'I_A_R'

end )

group by ga.gl_account_code

,ga.gl_account_name

,curr.currency_code

,curr.currency_name

,cus.customer_code

,cus.customer_name

,ga.gl_account_id

这是那个sql,主要是下面这个case 语句,现在sql不能执行

请指点一下

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值