Somar itens definidos de duas colunas PLSQL ORACLE

14/11/2018

0

Bom dia! Me deparei com a necessidade de somar valores de duas colunas, os quais não seriam os valores de todas as linhas mas sim de linhas definidas por mim.
Deixando um pouco mais literal, Sinal + Valor da coluna e linha que deve entrar nessa soma, Sinal - Valor da coluna e linha que não deve fazer parte dessa soma.
Coluna 1 Coluna 2
+ -
+ -
+ -
- +
+ -
- +

Alguém teria uma ideia de como eu poderia implementar este select?
Maicon Scapatici

Maicon Scapatici

Responder

Posts

14/11/2018

Emerson Nascimento

não sei se entendi....
select
  sum(case when coluna1 = '+' then colunavalor1 else 0 end) +
  sum(case when coluna2 = '+' then colunavalor2 else 0 end) total
from
  tabela



Responder

14/11/2018

Maicon Scapatici

Sua lógica tem sentido, mas no caso do operador de comparação daria certo, mas no meu caso cada representação de + ou - serão valores float. vou fazer alguns testes com a sugestão. Pois acho que daria para criar um campo de comparação pra '0' e fazer com case. Obrigado pela sugestão.
Responder

14/11/2018

Emerson Nascimento

Se é pra comparar um valor positivo/negativo:
select
  sum(case when coluna1 > 0 then coluna1 else 0 end) +
  sum(case when coluna2 > 0 then coluna2 else 0 end) total
from
  tabela
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar