select Aliquota, sum(total) as total, sum(basecalculo) as basecalculo, sum(imposto) as imposto from ( select A.aliquota,ROUND(sum(A.qtdxunit-A.desconto+A.acrescimo-A.desconto_item),2) as total,sum(0) as BaseCalculo, sum(0) as imposto from MOVDIARIO A inner join PRODUTO B on B.coditem=A.id_produto left join tributacaopiscofins C on B.COD_TRIBPISCOFINSVENDAS=C.ID where A.emissao between ('2012-01-01') and ('2012-01-31') and A.tipo='V' and (A.situacao is null or A.situacao='' or A.situacao=' ') and A.empresa=1 group by A.aliquota union all select A.aliquota,sum(0) as total,sum(A.qtdxunit-A.desconto+A.acrescimo-A.desconto_item) as BaseCalculo, (ROUND(SUM((A.QTDXUNIT-A.DESCONTO+A.ACRESCIMO-A.desconto_item)*(C.ALIQUOTAPIS/100)),2)+ ROUND(SUM((A.QTDXUNIT-A.DESCONTO+A.ACRESCIMO-A.desconto_item)*(C.ALIQUOTACOFINS/100)),2)) as imposto from MOVDIARIO A inner join PRODUTO B on B.coditem=A.id_produto left join tributacaopiscofins C on B.COD_TRIBPISCOFINSVENDAS=C.ID where A.emissao between ('2012-01-01') and ('2012-01-31') and A.tipo='V' and (A.situacao is null or A.situacao='' or A.situacao=' ') and C.ALIQUOTAPIS>0 AND C.CST_PIS IN ('01', '02', '03', '04', '05', '49') AND C.COD_CONT IN ('01', '02', '03','04', '32', '71','31','51','52','53','54','72') and A.empresa=1 group by A.aliquota ) as TMP group by Aliquota