Select maior valor entre duas colunas

28/02/2019

0

Boa noite!
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

Ricardo Atanásio

Responder

Posts

01/03/2019

Ana Lichirgu

Bom dia! Coloque no select a função max...tipo max(valor1), max(valor2) que deve funcionar.

Espero ter ajudado!
Responder

01/03/2019

Daniel Araújo

Bom dia Ricardo!

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;
Responder

02/03/2019

Ricardo Pestana

Bom dia Ricardo,

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
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar