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不能执行
请指点一下