Prova così
codice:
select prodotto,
sum(if(data between '2005-01-01' and '2005-06-30',importo,0)) as semestre2005,
sum(if(data between '2006-01-01' and '2006-06-30',importo,0)) as semestre2006,
......
from fattura
group by prodotto