Fórum SELECT SEM SUCESSO #27000

09/12/2008

0

Pessoal, tenho uma tabela TRAMITE com os seguintes dados:

| id_tramite | dt_tramite | id_destino | id_documento |
| 1 | 2008-12-01 13:31:43 | 105 | 5 |
| 2 | 2008-12-02 14:20:33 | 716 | 5 |
| 3 | 2008-12-03 08:27:21 | 716 | 6 |
| 4 | 2008-12-04 10:42:09 | 198 | 6 |
| 5 | 2008-12-05 17:07:36 | 228 | 8 |


Eu preciso pegar as datas mais recentes de cada documento.
Fiz o seguinte SQL:
[b:0d5d6c4430]
SELECT max(dt_tramite), id_documento FROM tramite GROUP BY id_documento.[/b:0d5d6c4430]

Esse select funciona, só que preciso pegar o id_tramite, ae fiz o seguinte:

[b:0d5d6c4430]
SELECT max(dt_tramite), id_documento, id_tramite FROM tramite GROUP BY id_documento.[/b:0d5d6c4430]

Mas não funciona pq diz que o id_tramite precisa estar numa função de agregação ou no group by.

Alguém sabe como fazer?


Moriarty

Moriarty

Responder

Posts

09/12/2008

Jair Bg

Boa Tarde se entedi direito seria (+-) assim:

SELECT tramite.id_tramite
, tramite.id_documento
, tramite.id_destino
, tramite.dt_tramite
FROM tramite
INNER JOIN (SELECT tramite.id_documento
, MAX( tramite.dt_tramite) AS dt_tramite
FROM tramite
GROUP BY tramite.id_documento
) AS sq_tramite
ON (sq_tramite.id_documento = tramite.id_documento)
AND (sq_tramite.dt_tramite = tramite.dt_tramite)


Responder

Gostei + 0

09/12/2008

Moriarty

Obrigado, funcionou direitinho.
Nem imaginei que seria tão fácil.

Valeu


Responder

Gostei + 0

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

Aceitar