Usuário com melhor resposta
Selecionar último registro com condição

Pergunta
-
Amigos
Tenho uma tabela com a seguinte estrutura/dados:
id idprojeto typ msg dt
18 128 0 Mensagem Publica 2011-07-04 15:07:10.800
22 128 1 resposta adm 2011-07-05 10:54:51.550
19 129 0 Pergunta 2 2011-07-04 15:09:13.420
20 129 1 Resposta 2 2011-07-04 15:09:33.177
21 129 0 Pergunta 2 ESSA AQUI!!! 2011-07-04 15:10:00.767Meu problema é, preciso selecionar somente o último registro cadastrado por projeto(idprojeto), desde que o último registro seja typ=0.
Nesse caso, me retornaria somente o registro com id=21
Tentei usar max, mas não rolou.... alguma idéia?
Respostas
-
Marcel,
Segue:
select Max(id), idprojeto, typ, msg, dt
from suatabela
where typ=0 group by idprojeto, typ, msg, dt
Fabrizzio A. Caputo
Certificações: Oracle OCA 11g, MCTS SQL Server 2008 Implementation and Maintenance
Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com- Sugerido como Resposta Fredy Esmeraldo terça-feira, 5 de julho de 2011 17:51
- Marcado como Resposta Marcel Augusto Molinari terça-feira, 5 de julho de 2011 18:04
Todas as Respostas
-
Marcel,
Segue:
select Max(id), idprojeto, typ, msg, dt
from suatabela
where typ=0 group by idprojeto, typ, msg, dt
Fabrizzio A. Caputo
Certificações: Oracle OCA 11g, MCTS SQL Server 2008 Implementation and Maintenance
Blog Pessoal: www.fabrizziocaputo.wordpress.com
Blog Empresa: www.tripletech.com.br/blog
Twitter: @FabrizzioCaputo
Email: fabrizzio.antoniaci@gmail.com- Sugerido como Resposta Fredy Esmeraldo terça-feira, 5 de julho de 2011 17:51
- Marcado como Resposta Marcel Augusto Molinari terça-feira, 5 de julho de 2011 18:04
-
-
Boa Tarde,
Essa dúvida é muito recorrente no fórum. Dê uma olhadinha no link abaixo:
Como retornar o último registro por grupo ?
http://gustavomaiaaguiar.wordpress.com/2009/01/11/como-retornar-o-ultimo-registro-por-grupo/Adianto que o MAX sozinho não resolve.
[ ]s,
Gustavo Maia Aguiar
http://gustavomaiaaguiar.wordpress.com
Classifique as respostas. O seu feedback é imprescindível- Sugerido como Resposta Gustavo Maia Aguiar terça-feira, 5 de julho de 2011 18:06
-
Você também pode inverter a forma de ordenar.
exemplo.
SELECT TOP 1 COLUNAS FROM TABELA WHERE CONDICAO ORDER BY COLUNAS DESC
No seu caso seria assim.
select top 1 id, idprojeto, typ, msg, dt from tabela where typ=0 group by id Desc
Abraço
Vinícius Kleber