Ir para conteúdo
Fórum Script Brasil
  • 0

ajuda em query - percentual com o resultado da soma


ROMANVPP

Pergunta

Pessoal,

Tenho a seguinte query:

select *, totvalorliquido - totvalorcustorep  as lucro

 from(select distinct tp.margembrutalucro,sum(ttm.quantidade * ttm.precounitario)as totvalorliquido,    
      SUM(case when tp.margembrutalucro >= 1.15 and tp.margembrutalucro <= 1.30 then (ttm.precounitario*ttm.quantidade) * 0.01
      when tp.margembrutalucro >= 1.31 and tp.margembrutalucro <= 1.50 then (ttm.precounitario*ttm.quantidade) * 0.012
      else cast(tp.margembrutalucro as varchar) end) as totmargemnota,
      sum(ttm.quantidade * tp.custoreposicao)as totvalorcustorep,
      SUM(case when tp.margembrutalucro >= 1.15 and tp.margembrutalucro <= 1.30 then (tp.custoreposicao*ttm.quantidade) * 0.01
      when tp.margembrutalucro >= 1.31 and tp.margembrutalucro <= 1.50 then (tp.custoreposicao*ttm.quantidade) * 0.012
      else cast(tp.margembrutalucro as varchar) end) as totmargemprecocheio
      from tprd tp with (nolock) inner join titmmov ttm on (ttm.idprd = tp.idprd)
      inner join tmov tm on (tm.idmov = ttm.idmov)
      where tm.dataemissao >= '2011/11/01'
      and tm.dataemissao <='2011/11/01'
      and tm.CODTMV IN ('2.2.01','2.2.29')
      AND tm.codcfo not in('000337') and tm.STATUS <> 'C'
      group by tp.margembrutalucro)t1

group by margembrutalucro, totvalorliquido,totvalorcustorep, totmargemnota, totmargemprecocheio
      order by margembrutalucro

O resultado é esse:

Margem TotValorLiquido TotMargemNota TotValorCustoRep TotMargemPrecoCheio Lucro

1.2000 5542.17000000 55.42170000000 4451.71300000 44.51713000000 1090.45700000

1.2500 1945.53000000 19.45530000000 1447.97020000 14.47970200000 497.55980000

1.2700 3.80000000 .03800000000 3.00000000 .03000000000 .80000000

1.3000 200.20000000 2.00200000000 153.60500000 1.53605000000 46.59500000

1.5000 2261.45000000 27.13740000000 1510.72060000 18.12864720000 750.72940000

Preciso criar um campo chamado PERCENTUAL que pegue o campo TOTVALORLIQUIDO e compare com o somatório do campo "TotValorLiquido" encontrando o seu valor percentual em relação ao somatório, ou seja o resultado seria:

Margem TotValorLiquido Percentual TotMargemNota TotValorCustoRep TotMargemPrecoCheio Lucro

1.2000 5542.17000000 55,6825 55.42170000000 4451.71300000 44.51713000000 1090.45700000

1.2500 1945.53000000 19,5438 19.45530000000 1447.97020000 14.47970200000 497.55980000

1.2700 3.80000000 0,0381 .03800000000 3.00000000 .03000000000 .80000000

1.3000 200.20000000 2,011 2.00200000000 153.60500000 1.53605000000 46.59500000

1.5000 2261.45000000 22,72 7.13740000000 1510.72060000 18.12864720000 750.72940000

Agradeço caso alguém tenha uma idéia.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom dia ROMANVPP,

Crie uma temporária utilizando o select e depois faça a porcentagem q necessita, a partir da temporária.

Caso queira fazer no mesmo select, terá q repetir a parte do sql q retorna a soma dos valores, para fazer a porcentagem (vai ficar bem grande e mais complexo para realizar a manutenção).

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...