Selecionar o ID correto com base na maior data

29/06/2017

0

Bom dia.

Eu tenho a seguinte tabela:
ID_TRAMITACAO ag_data_hora data_hora_lan
4157189 2016-08-08 00:00:00.000 2016-08-08 14:58:13.000
4206011 2016-08-15 00:00:00.000 2016-08-14 10:55:06.000
7629112 2017-06-08 00:00:00.000 2017-06-07 13:33:20.000
7848284 2017-07-07 00:00:00.000 2017-06-29 09:10:48.000
7848289 2017-06-30 00:00:00.000 2017-06-29 09:11:06.000

Eu preciso achar a maior "ag_data_hora", mas preciso manter o "id_tramitacao" da mesma, pois o "ID" é a chave do registro.

Já tentei "N" formas de resolver a questão, mas se faço o MAX(ag_data_hora), fico sem a chave, e se agrupo pelo ID, claro que não agrupa porque tenho registros diferentes.

Na prática o que preciso obter é, considerando o exemplo acima:
ID_TRAMITACAO ag_data_hora data_hora_lan
7848284 2017-07-07 00:00:00.000 2017-06-29 09:10:48.000

Alguém consegue me ajudar?

Obrigado
Antonio Fratucci

Antonio Fratucci

Responder

Posts

29/06/2017

Fabiano Carvalho

Não sei se é a forma ideal mas da uma olhada

DECLARE @DADOS TABLE (ID_TRAMITACAO INT,ag_data_hora DATETIME,data_hora_lan DATETIME)

INSERT INTO @DADOS VALUES
(4157189,'2016-08-08 00:00:00.000',	'2016-08-08 14:58:13.000'),
(4206011,'2016-08-15 00:00:00.000',	'2016-08-14 10:55:06.000'),
(7629112,'2017-06-08 00:00:00.000',	'2017-06-07 13:33:20.000'),
(7848284,'2017-07-07 00:00:00.000',	'2017-06-29 09:10:48.000'),
(7848289,'2017-06-30 00:00:00.000',	'2017-06-29 09:11:06.000')


SELECT * 
FROM @DADOS 
WHERE data_hora_lan = (SELECT MAX(DATA_HORA_LAN) FROM @DADOS)
Responder

30/06/2017

Lincon Silva

Bom dia Fratucci,

Você pode dar um order by pela [DATA_HORA_LAN] e adicionar um top 1 no select, ou seja, você colocaria o valor desejado no topo e apenas apresentaria ele.

tipo:

SELECT TOP 1 [ID_TRAMITACAO] FROM [SUA_TABELA] ORDER BY [DATA_HORA_LAN] DESC


Abraços
Responder

03/07/2017

David Styveen

Bom dia, Antonio.

Acredito que a maneira com melhor desempenho é a seguinte:

select * from tabela where ag_data_hora = (select max(ag_data_hora) from tabela t)


A partir disso, você pode melhorar e adaptar a sua necessidade.

Abraços
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