Colega Ridson... Estou vendo que vc pode estar experimentando um problema que tive há um tempo atrás...
Tente fazer: Tente fazer seu select dos campos agregados, buscando de um outro select: Select sum(QUANTIDADE) as QUANT, sum(VALOR_TOTAL) as VALTOT, P.CUSTO * sum(QUANTIDADE) as TOTCUSTO, (Sum(Valor_Total) - (P.Custo * sum(quantidade))) *(100 / (P.Custo * sum(quantidade))) as Acrescimo from ( select * from PROSAI S inner join PRODUTOS P on (S.PRODUTO = P.CODIGO) Where (S.Empresa = '002' AND P.Empresa = '002') AND (S.saida >= '12/01/2008' AND S.Saida <= '12/31/2008') ) Você primeiro pesquisa a gama de dados de onde vc extrairá a agregação... Outra coisa, seus parâmetros de data estão sem o alias... e os campos têm o mesmo nome do alias escolhido... então tá embolando seu entendimento da sintaxe da instruçãoi SQL Espero que funcione... Teste aí!!! Abraços Emanuel Coutinho Ridson Xavier de Moura escreveu: > > Boa tarde. > > Cointinua do mesmo jeito... mesma mensagem de erro... > > 2008/12/31 Adilson Figueiredo de Lima <adil...@aflsistemas.com.br > <mailto:adilson%40aflsistemas.com.br>> > > > Meu amigo, Ridson, Bom dia. > > > > Considerando que o Firebird utilize o SQL ANSI, estou te passando como > > deveria ser, pois não exis o objeto QUANT, mas sim a somatória a coluna > > quantidade "sum(QUANTIDADE)". > > > > > > select Saida.PRODUTO, > > Saida.SECAO, > > P.DESCRICAO, > > sum(QUANTIDADE) as QUANT, > > sum(VALOR_TOTAL) as VALTOT, > > P.CUSTO * sum(QUANTIDADE) as TOTCUSTO, > > (Sum(Valor_Total) - (P.Custo * sum(quantidade))) * > > (100 / (P.Custo * sum(quantidade))) as Acrescimo > > from PROSAI Saida, PRODUTOS P > > where Saida.Empresa = '002' > > AND P.Empresa = '002' > > AND Saida.PRODUTO = P.CODIGO > > and saida >= '12/01/2008' > > and saida <= '12/31/2008' > > group by Saida.PRODUTO, Saida.SECAO, P.DESCRICAO > > /* order by QUANT*/ > > order by sum(QUANTIDADE) > > > > Adilson Figueiredo de Lima > > > > >