alexandrejanotcarneiro Postado Março 21, 2010 Denunciar Share Postado Março 21, 2010 tenho uma tabela A com os seguintes dadosREGNR DATA PV 100 25.06.2010 8900 100 10.06.2008 1002 100 12.06.1943 8999 100 25.06.1957 2882100 01.02.2009 8900110 14.02.2010 1000Bom quero que retorne valores diferentes de REGNR com o valor do campo PV correspondente a ultima data ( mais recente)Por exemplo : teria o resultadoREGNR DATA PV 100 25.06.2010 89001110 14.02.2010 1000Tentei o seguinte codigo mas não consegui o resultadoSelect distinct REGNR, greatest(DATA), PV from A Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fulvio Postado Março 22, 2010 Denunciar Share Postado Março 22, 2010 Bom dia Alexandre, Caso o resultado fosse apenas as duas primeiras colunas "REGNR" e "DATA", seria mais fácil a implementação: select distinct REGNR, max(data) from A group by REGNR Mas a coluna "PV" ficará de fora. Para resolver este problema, criei uma temporária e inseri os dados. Segue o script com umas inserções de teste. --Criação de temporária em instância para inserção dos dados create table #teste (REGNR int, DATA datetime, PV int) -- Inserção dos dados insert into #teste values (100, '2010-06-25', 8900) insert into #teste values (100, '2008-06-10', 1002 ) insert into #teste values (100, '1943-06-12', 8999) insert into #teste values (100, '1957-06-25', 2882) insert into #teste values (100, '2009-02-01', 8900) insert into #teste values (110, '2010-02-14', 1000) --Depois de dar carga na tabela, seleciona tudo abaixo e executa. declare @Resultado table (REGNR int, DATA datetime, PV int) insert into @Resultado (REGNR, DATA) select distinct REGNR, max(data) from #teste group by regnr update @Resultado Set PV=t.PV from @Resultado r, #teste t where r.REGNR=t.REGNR and r.DATA=t.DATA select * from @Resultado Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
alexandrejanotcarneiro
tenho uma tabela A com os seguintes dados
REGNR DATA PV
100 25.06.2010 8900
100 10.06.2008 1002
100 12.06.1943 8999
100 25.06.1957 2882
100 01.02.2009 8900
110 14.02.2010 1000
Bom quero que retorne valores diferentes de REGNR com o valor do campo PV correspondente a ultima data ( mais recente)
Por exemplo : teria o resultado
REGNR DATA PV
100 25.06.2010 8900
1110 14.02.2010 1000
Tentei o seguinte codigo mas não consegui o resultado
Select distinct REGNR, greatest(DATA), PV from A
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.