Fórum SELECT COM OPERAÇÃO ARITMÉTICA POR PARAMETRO #571058
16/11/2016
0
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
Curtir tópico
+ 0Posts
16/11/2016
Alec Candia
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?
Gostei + 0
17/11/2016
Tiago Costa
Gostei + 0
01/12/2016
Lourival Queiroz
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;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)