codice:
select agenzia, sum(c1) as totale_organico, sum(c2) as totale_assenti, sum(c3) as totale_operatori, sum(c4) as totale_assenti_operatori from
(
select agenzia, count(*) as c1, 0 as c2, 0 as c3, 0 as c4 from tabella group by agenzia
union
select agenzia, 0 as c1, count(*) as c2, 0 as c3, 0 as c4 from tabella where situazione<>'presente' group by agenzia
union
select agenzia, 0 as c1, 0 as c2, count(*) as c3, 0 as c4 from tabella where sportello='SI' group by agenzia
union
select agenzia, 0 as c1, 0 as c2, 0 as c3, count(*) as c4 from tabella where situazione<>'presente' and sportello='SI' group by agenzia
)
group by agenzia
ciao