codice:
select u.*,sum(if(tipologia=1,quantita,0)) as maturati,sum(if(tipologia=2,quantita,0)) as consegnati,
sum(if(tipologia=1,quantita,0)) - sum(if(tipologia=2,quantita,0)) as differenza
from utenti as u inner join (
select id_utente,quantita,1 as tipologia
from buoni_maturati
union all
select id_utente,quantita,2
from buoni_consegnati) as b
on u.id = b.id_utente
group by u.id