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
> >
> >
>


Responder a