Select maior valor entre duas colunas
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
Posts
01/03/2019
Ana Lichirgu
Espero ter ajudado!
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;
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
Clique aqui para fazer login e interagir na Comunidade :)