GARANTIR DESCONTO

Fórum SELECT COM OPERAÇÃO ARITMÉTICA POR PARAMETRO #571058

16/11/2016

0

Boa tarde.

Preciso de um select que faça contas aritméticas de acordo com os parâmetros estabelecidos.

Segue tabela com meu exemplo:


Código | Valor | Atributo
V001 | 500 | +
V001 | 500 | N
D001 | 500 | +
D001 | 500 | N
D002 | 500 | -

Gostaria que meu select somasse a coluna valor, considerando parametros da coluna código e da coluna atributo.

Resultado esperado = soma os valores dos códigos V001 e D001, atributo "N", desconsiderar os com atributo "+", subtrair os com atributo "-"

grato.
Tiago Costa

Tiago Costa

Responder

Posts

16/11/2016

Alec Candia

Tiago, não consegui compreender exatamente. Vamos lá:
Resultado esperado = soma os valores dos códigos V001 e D001 com o atributo N?

Não seria somar os atributos +, subtrair os atributos - e desconsiderar os N?
Responder

Gostei + 0

17/11/2016

Tiago Costa

É isso mesmo, o que nao consigo é fazer a soma e a subtracao no mesmo select.
Responder

Gostei + 0

01/12/2016

Lourival Queiroz

Um exemplo:

set serveroutput on size unlimited
declare
VlTab  NUMBER:=0;
begin
 for r in (select Codigo, Valor, decode(Sinal,''''N'''',''''-'''',Sinal) Sinal
             from tab
            where Codigo in (''''V001'''',''''D001'''')
            order by Codigo)
  loop
    if (r.Sinal = ''''+'''') then
       VlTab:=VlTab + r.Valor;
    else
       VlTab:=VlTab - r.Valor;
    end if;
  end loop;
  DBMS_OUTPUT.put_line(''''Valor Total: ''''||to_char(VlTab));
end;

Responder

Gostei + 0

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

Aceitar