Ajuda com calculo em consulta

26/04/2019

0

bom dia amigos preciso da ajuda de voces. porem antes de tudo quero agradecer sempre o apoio que tenho recebido sempre que preciso dessa forum.
vamos ao que preciso.

tenho uma consulta e em uma determinada parte dela eu tenho o retorno do valor de venda . baseado nisso de forma manual criei o seguinte


sum (a.vrliq/18) as Media_Venda


em resumo essa parte pega o valor liquido e divide pela quantidade de dias que é 18 criando assim uma media de venda.

queria saber dos amigos se tenho como colocar na minha consulta um campo onde a pessoa possa inserir a quantidade de dias sem ter que fazer isso dentro da consulta.
vou colocar o codigo todo aqui para voces verem.
conto com a ajuda dos amigos.
select 
            A.cdfil FILIAL,
              case a.cdfil        
                                           when 17 then 'FILIAL 17'
                                           when 18 then 'FILIAL 18'

    
              end PAGAMENTO,

              sum (A.vrliq + A.vrdsc) as VENDA_BRUTA,
               sum (a.vrliq) as VENDA_LIQUIDA,
                sum (a.vrdsc) as DESCONTOS,
                ((sum(a.vrdsc))/ (sum(a.vrliq)))*100 as PERCENTUAL_DE_DESCONTO,
                   sum (a.vrliq/18) as Media_Venda


                 from fc31200 a where
                         a.cdfil<>150 and
                          a.dtope  between :dtinicial and :dtfinal  and
                           a.tppag <> 3 and
                            a.tppag <> 6 and
                             a.cdtml <> '80'
                          group by a.cdfil
Reginaldo Souza

Reginaldo Souza

Responder

Post mais votado

26/04/2019

pode ser assim:
strInstrucaoSQL :=	'select '+
					'	a.cdfil FILIAL, '+
					'	''FILIAL ''+cast(a.cdfil as varchar(2)) PAGAMENTO, '+
					'	sum (A.vrliq + A.vrdsc) as VENDA_BRUTA, '+
					'	sum (a.vrliq) as VENDA_LIQUIDA, '+
					'	sum (a.vrdsc) as DESCONTOS, '+
					'	((sum(a.vrdsc))/ (sum(a.vrliq)))*100 as PERCENTUAL_DE_DESCONTO, '+
					'	sum (a.vrliq/'+strDiasMes+') as Media_Venda '+
					'from '+
					'	fc31200 a '+
					'where '+
					'	a.cdfil <> 150 and '+
					'	a.dtope between :dtinicial and :dtfinal and '+
					'	a.tppag <> 3 and '+
					'	a.tppag <> 6 and '+
					'	a.cdtml <> ''80'' '+
					'group by '+
					'	a.cdfil ';

daí você aplica a instrução no componente pertinente.

Emerson Nascimento

Emerson Nascimento
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar