Fórum Select maior valor entre duas colunas #600877
28/02/2019
0
Tenho uma tabela com a estrutura Referência valor1 valor2 e preciso fazer uma consulta que retorna Referência e o maior valor entre valor1 e valor2.
Ricardo Atanásio
Curtir tópico
+ 0Posts
01/03/2019
Ana Lichirgu
Espero ter ajudado!
Gostei + 0
01/03/2019
Daniel Araújo
Não tenho experiência com Oracle, mas sei como fazer no SQL Server. Vê se dá para adaptar...
CREATE TABLE TESTE(
REFERENCIA VARCHAR(10),
VALOR_1 DECIMAL(10, 2),
VALOR_2 DECIMAL(10, 2)
);
GO
INSERT INTO TESTE VALUES ('REF_1', 10, 20);
INSERT INTO TESTE VALUES ('REF_2', 40, 30);
GO
SELECT REFERENCIA,
CASE
WHEN VALOR_1 > VALOR_2 THEN VALOR_1
ELSE VALOR_2
END AS MAIOR_VALOR
FROM TESTE;
Gostei + 0
02/03/2019
Ricardo Pestana
Tenta assim...
select referencia, case when valor1 > valor2 then valor1 when valor2 > valor then valor2 else 0 end maiorValor from suatabela;
outra coisa se valor1 ou valor2 podem ter valor nulo, vc precisa testar para não obter algum resultado indesejado.... use a função nvl() para substituir o valor nulo por 0 (ou qq outro valor q desejar)
select referencia, case when nvl(valor1, 0) > nvl(valor2,0) then valor1 when nvl(valor2, 0) > nvl(valor1, 0) then valor2 else 0 end maiorValor from suatabela;
abraço
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)