1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| with req as (
select num_compte ,montant,
(select sum(0-montant) from d_mouvement_par d where NATURE=3 and cod_evenement='IMM' and d.dte_operation between ret.dte_operation and ret.dte_operation+31 and d.num_compte=ret.num_compte) as montant_retrait
from suivi_ret ret)
select
case
when MONTANT >= 3000 and montant_retrait between 2000 and 3000 then 'cas1'
when MONTANT >= 5000 and montant_retrait between 3000 and 4000 then 'cas2'
when MONTANT >= 8000 and montant_retrait between 4000 and 4000 then 'cas3'
when MONTANT >= 10000 and montant_retrait between 4000 and 5000 then 'cas4'
when MONTANT >= 10000 and montant_retrait between 5000 and 6000 then 'cas5'
when MONTANT >= 10000 and montant_retrait between 2000 and 3000 then 'cas6'
end as cas
,count(*) as nobmre_virement
from req
group by
case
when MONTANT >= 3000 and montant_retrait between 2000 and 3000 then 'cas1'
when MONTANT >= 5000 and montant_retrait between 3000 and 4000 then 'cas2'
when MONTANT >= 8000 and montant_retrait between 4000 and 4000 then 'cas3'
when MONTANT >= 10000 and montant_retrait between 4000 and 5000 then 'cas4'
when MONTANT >= 10000 and montant_retrait between 5000 and 6000 then 'cas5'
when MONTANT >= 10000 and montant_retrait between 2000 and 3000 then 'cas6'
end; |