al limite puoi fare una union di tre query diverse.
codice:
select
'tipo1' tipo,
tabella.id_utente,
sum(tabella.importo)
from tabella
where tabella.data >= :data_Inizio1 and tabella.data <= :data_Fine1 and
group by
tabella.id_utente
union
select
'tipo2' tipo,
tabella.id_utente,
sum(tabella.importo)
from tabella
where tabella.data >= :data_Inizio2 and tabella.data <= :data_Fine2 and
group by
tabella.id_utente
union
select
'tipo3' tipo,
tabella.id_utente,
sum(tabella.importo)
from tabella
where tabella.data >= :data_Inizio3 and tabella.data <= :data_Fine3 and
group by
tabella.id_utente
ciao
ps.: la sintassi per i parametri e' quella per interbase/firebird, adattala alle tue esigenze.