은행 승인 상태에 따라 기부 액의 합계를 얻고 선물 종류별로 그룹화하려고합니다. 그러나 스크립트는 RR 및 NR 기부를 별도의 줄에 출력합니다 (스크립트 아래 참조). 사례 진술이 전혀 작동하지 않는 것 같습니다.사례 문이 출력에 아무런 영향을 미치지 않습니다.
sum(case
when c.bank_approval_status = 'AP' then
c.charge_amount else 0 end) approved,
sum(case
when c.bank_approval_status in ('RR','NR') then
c.charge_amount else 0 end) rejected,
sum(case
when c.bank_approval_status = 'AR' then
-c.charge_amount else 0 end) refunded,
sum(case
when c.bank_approval_status not in ('AR','AP','RR','NR') then
c.charge_amount else 0 end) other_status
그리고 당신의 group by
거의 열 당신 없어야합니다 :
select gift_kind,
case
when c.bank_approval_status = 'AP' then
sum(c.charge_amount) end approved,
case
when c.bank_approval_status in ('RR','NR') then
sum(c.charge_amount) end rejected,
case
when c.bank_approval_status = 'AR' then
sum(c.charge_amount)*-1 end refunded,
case
when c.bank_approval_status not in ('AR','AP','RR','NR') then
sum(c.charge_amount) end other_status
from charge_log c, transactions t
where c.account_id=t.account_id
and c.process_id= 'CHG - 02532'
and c.gift_date=t.gift_date
and c.gift_seq=t.gift_seq
and C.PLEDGE_NUMBER=t.pledge_number
and t.sts='A'
group by t.fund_type, t.gift_kind, c.bank_approval_status
order by gift_kind asc
'sum()'함수 안에'case'를 넣으십시오. 예 :'sum (c.bank_approval_status = 'AP'then c.charge_amount end)' –
... 최종 조항. – symcbean