Select Max

2 respostas
F

Pessoal to prescisando fazer um select desta forma abaixo…

SELECT max(a.sequencia),max(a.cod_mestre),max(a.dat_mod),max(b.nom_funcionario),max(c.descricao_motivo) 
FROM ti_carga_mod a,funcionario b,ti_carga_motivo c,ti_carga_mestre d 
WHERE a.cod_status='1'
AND a.cod_mestre = d.cod_mestre 
AND b.cod_empresa in ('01','12') 
AND a.usu_mod = b.num_matricula 
AND a.cod_motivo = c.cod_motivo

Só que desta forma so consigo retornar o ultimo, mas eu queria retornar o ultimo de cada codigo mestre… alguem tem ideia?

2 Respostas

F

Acho que resolvi da seguinte mandeira, sera que está correto??

SELECT max(a.sequencia),a.cod_mestre,max(a.dat_mod),max(b.nom_funcionario),max(c.descricao_motivo) 
FROM ti_carga_mod a,funcionario b,ti_carga_motivo c,ti_carga_mestre d 
WHERE a.cod_status='1'
AND a.cod_mestre = d.cod_mestre 
AND b.cod_empresa in ('01','12') 
AND a.usu_mod = b.num_matricula 
AND a.cod_motivo = c.cod_motivo
GROUP BY a.cod_mestre
matheusgeres

Sim, pode fazer assim desta forma.
Aqui no trabalho estamos usando o SqlServer 2008, você poderia utilizar duas regras assim.

select top 1 codigo from tabela order by codigo desc

Lembrando que top só é válido para o SqlServer, a maioria dos bancos coloca limit ao final.

Um abraço.

Criado 12 de abril de 2013
Ultima resposta 12 de abr. de 2013
Respostas 2
Participantes 2