GARANTIR DESCONTO

Fórum Calculo na consulta SQL #58463

22/06/2007

0

Boa tarde pessoal!

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

Mmoreira

Responder

Posts

23/06/2007

Martins

[b:b3c1f7d027]mMOREIRA[/b:b3c1f7d027] se o FB tem alguma função para porcentagem não sei, só se existe uma UDF para isso, mas eu particularmente desconheço.

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.


Responder

Gostei + 0

25/06/2007

Mmoreira

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


Responder

Gostei + 0

25/06/2007

Martins

Blz [b:c72ca9cdde]mMOREIRA[/b:c72ca9cdde], quanto a função vc pode escrever uma UDF e publicá-la caso não exista uma com essa função de conversão.

Bons códigos.


Responder

Gostei + 0

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

Aceitar