Fórum Calculo na consulta SQL #58463
22/06/2007
0
Tenho as seguintes tabelas:
PRODUTO
- VALOR_PRODUTO (Numeric)
TABELA_ACRESCIMO
- ACRESCIMO_VALOR (Numeric)
- ACRESCIMO_PERCENTUAL (Numeric)
Vamos supor que tenho os seguintes valores na tabela de PRODUTO:
VALOR_PRODUTO
50,00
100,00
E na tabela TABELA_ACRESCIMO eu tenho os seguintes valores:
ACRESCIMO_VALOR ACRESCIMO_PERCENTUAL 10 5¬
Entao eu preciso fazer um SQL que retorne a seguinte linha:
VALOR_PRODUTO VALOR_VENDA 50 62,50 100 115,00
O que eu preciso na coluna VALOR_VENDA é pegar o VALOR_PRODUTO e adicionar o valor dos dois campos de ACRESCIMO ficando algo mais ou menos assim no cado do produto de valor 50:
50 + 10 + ( (50*5) / 100 ) := 62,50
Minha duvida é se o Firebird ja tem alguma funcao que faca por exemplo este calculo de porcentagem para que eu nao tenha que fazer da maneira que mostrei acima ..
Bom entao é isso espero que tenha sido claro na duvida.
Obrigado.
Mmoreira
Curtir tópico
+ 0Posts
23/06/2007
Martins
Mas vc pode fazer de duas maneira, guardar no campo PORCENTAGEM um valor já convertido. Tipo 50¬ = 0,5 q é o mesmo q pegar 5 e dividir por 100 = 0,5, só q assim vc teria o trabalho de converter para gravar e converter para exibir ao usuário. Uma outra possibilidade seria realmente montar esse formula em seu Script.
Seguem dois exemplos para vc ter uma luz sobre qual caminho seguir.]
[b:b3c1f7d027]Exemplo 01[/b:b3c1f7d027]
select P.ID_PROD, P.VALOR_PROD, (P.VALOR_PROD+A.AC_VALOR+(P.VALOR_PROD*A.AC_PERCENT)) AS VALOR_VENDA FROM PRODUTO P, ACRESCIMO A WHERE P.ID_PROD = A.ID_PROD
[b:b3c1f7d027]Exemplo 02[/b:b3c1f7d027]
select P.ID_PROD, P.VALOR_PROD, (P.VALOR_PROD+A.AC_VALOR+((P.VALOR_PROD*A.AC_PERCENT)/100)) AS VALOR_VENDA FROM PRODUTO P, ACRESCIMO A WHERE P.ID_PROD = A.ID_PROD
Bons códigos.
Gostei + 0
25/06/2007
Mmoreira
Como eu tambem nao descobri se o Firebird tem alguma função ou UDF para realizar o calculo que eu gostaria entao fiz no braço mesmo assim como no segundo exemplo que voce mostrou acima.
Vou continuar procurando pela funçao ou UDF e caso encontre posto ela aqui para que voce fique por dentro.
Muito obrigado pela atenção
Gostei + 0
25/06/2007
Martins
Bons códigos.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)