Consulta em SQL que exclui valores com correspondência

SQL

PostgreSQL

Query

19/08/2019

Considere uma tabela com os seguintes valores:

id, estagio, data,
1, a, 5/1/2019
1, b, 4/1/2019
2, a, 4/1/2019
3, b, 2/1/2019
4, b, 2/1/2019
4, b, 5/1/2019


Gostaria de criar uma consulta que traga a linha com a data mais nova para cada um dos IDs desconsiderando todos os IDs que possuam um estágio = 'a'. O resultado esperado é:

id, estagio, data,
3, b, 2/1/2019
4, b, 5/1/2019

Alguém pode me ajudar, por favor?
André Carreiro

André Carreiro

Curtidas 0

Melhor post

Emerson Nascimento

Emerson Nascimento

20/08/2019

tente assim:
select
	id, estagio, max(data) maiordata
from
	tabela
where
	not id in (select id from tabela where estagio = 'a')
group by
	id, estagio
GOSTEI 1

Mais Respostas

André Carreiro

André Carreiro

19/08/2019

tente assim:
select
	id, estagio, max(data) maiordata
from
	tabela
where
	not id in (select id from tabela where estagio = ''a'')
group by
	id, estagio


Obrigado. Funcionou.
GOSTEI 0
POSTAR