Só coloquei o campo EST_CUST_UND no group by para tentar explicar para vocês o 
que estava tentando fazer.

Ok Milton, aguardo seu exemplo, muito obrigado.




________________________________
 De: Milton Bastos Henriquis Jr. <miltonbas...@gmail.com>
Para: oracle_br@yahoogrupos.com.br 
Enviadas: Quarta-feira, 23 de Maio de 2012 16:29
Assunto: Re: [oracle_br] Help no Script
 
Sim, nós sabemos disso... rs...

A questão é que vc não pode alterar a lógica do teu select pra ele "rodar",
ou seja, adicionar um campo no group by apenas
pra não dar erro de compilação. Alterou a lógica, e daí realmente não vai
retornar o que vc espera.

Basta vc trabalhar com subselects, por exemplo, isso pensando de maneira
mais fácil e sem pensar em performance.


Rafael: o e-mail que vc acabou de mandar está errado.
Ele não quer apenas a ultima data.
Ele quer a última data DE CADA PRODUTO.


Bruno, assim que tiver um tempinho eu te colo um exemplo.
Não tenho dados aqui na minha base pra testar esse select, vou tentar gerar
um pouco de dados pra simular teu caso.
Mas é muito fácil de fazer, basta usar subselect.






2012/5/23 Bruno Banfi <bruno.ba...@yahoo.com.br>

> **
>
>
> Milton, fiz dessa maneira porque não é possivel dar um Select na coluna e
> não colocar no group by.
>
> Não posso fazer isso, da erro:
>
> SELECT MAX(I.EST_DATA_ENTRADA) DATA_ENTRADA, I.EST_FK_EPI, I.EST_CUST_UND
> from ESTOQUE as I
> Group by I.EST_FK_EPI
>
>
> ________________________________
> De: Milton Bastos Henriquis Jr. <miltonbas...@gmail.com>
> Para: oracle_br@yahoogrupos.com.br
> Enviadas: Quarta-feira, 23 de Maio de 2012 15:53
>
> Assunto: Re: [oracle_br] Help no Script
>
> Sim, vc fez errado!
>
> Vc colorou o campo VALOR no group by.
> É por isso que aparecem dois valores diferentes pro mesmo produto - foi vc
> mesmo que mandou que ficasse assim.
>
> Eu já imaginei que tivesse esse erro, por isso coloquei aquele comentário.
>
> Se vc quer apenas da data mais recente, mande agrupas apenas pelo produto,
> daí pegue a data mais recente usando o MAX, e por fim pegue o valor do
> produto naquela data.
>
> 2012/5/23 Bruno Banfi <bruno.ba...@yahoo.com.br>
>
> > **
>
> >
> >
> > Milton,
> >
> > Veja que no resultado aparece dois valores para o mesmo produto mas com
> > datas diferentes:
> >
> >
> > > 2011-09-28                        2                              0.65
> > > 2012-05-16                        2                              0.69
> >
> > Na minha consulta precisa aparecer o valor do produto com a data mais
> > recente. Nesse caso acima era para aparecer somente:
> >
> > 2012-05-16                        2                              0.69
> >
> > Não deu certo o que o Rafael sugeriu. Vou revisar para ver se estou
> > fazendo alguma coisa errada.
> >
> > Obrigado pelo retorno.
> >
> > Bruno
> >
> > ________________________________
> > De: Milton Bastos Henriquis Jr. <miltonbas...@gmail.com>
> > Para: oracle_br@yahoogrupos.com.br
> > Enviadas: Quarta-feira, 23 de Maio de 2012 15:27
> > Assunto: Re: [oracle_br] Help no Script
> >
> >
> > Sobre a sugestão do Rafael, importante lembrar que:
> > Se for usar rownum, tem que usar subselect também.
> >
> > Bruno: tenho quase certeza que vc não explicou corretamente o que vc
> > realmente deseja.
> >
> > Essa query que vc passou, ela está CORRETA e vc deseja extrair essa
> > informação dela?
> > Ou ela está ERRADA e vc deseja corrigi-la?
> >
> > Se ela estiver correta, pra extrair exatamente o que vc descreveu, é
> > fácil...
> > Sem fazer muita alteração e usando a dica do Rafael:
> >
> > Select DATA_ENTRADA, EST_CUST_UND
> > from (
> > SELECT MAX(I.EST_DATA_ENTRADA) DATA_ENTRADA, I.EST_FK_EPI,I.EST_CUST_UND
> > from ESTOQUE as I, EPI as H
> > INNER JOIN ESTOQUE ON EST_FK_EPI = H.EPI_ID
> > Group by I.EST_FK_EPI, I.EST_CUST_UND
> > order by MAX(I.EST_DATA_ENTRADA))
> > where rownum = 1;
> >
> > Mas tenho o leve pressentimento que não é isso que vc quer... que talvez
> vc
> > queira refazer
> > a query, mudar esse agrupamento, mas nesse caso só dá pra te ajudar se vc
> > realmente explicar melhor.
> >
> > 2012/5/23 Rafael Vieira <vieira.rafae...@yahoo.com.br>
> >
> > > **
> >
> > >
> > >
> > > Tenta colocar a cláusula having fazendo uma condição data = max(data),
> pq
> > > o having aceita um filtro com agrupamento, ou então, faria uma
> > "gamb",order
> > > by data desc  e colocaria um rownum = 1
> > >
> > > ________________________________
> > > De: Bruno Banfi <bruno.ba...@yahoo.com.br>
> > > Para: "oracle_br@yahoogrupos.com.br" <oracle_br@yahoogrupos.com.br>
> > > Enviadas: Quarta-feira, 23 de Maio de 2012 14:56
> > > Assunto: [oracle_br] Help no Script
> > >
> > >
> > >
> > > Boa tarde a todos,
> > >
> > > Tenho o seguinte script:
> > >
> > > SELECT MAX(I.EST_DATA_ENTRADA) as 'DATA_ENTRADA',
> > > I.EST_FK_EPI,I.EST_CUST_UND
> > >            from ESTOQUE as I, EPI as H
> > >            INNER JOIN ESTOQUE ON EST_FK_EPI = H.EPI_ID
> > >            Group by I.EST_FK_EPI, I.EST_CUST_UND
> > >            ORDER BY I.EST_FK_EPI
> > >
> > > Que da o seguinte resultado:
> > >
> > > EST_DATA_ENTRADA        EST_FK_EPI        EST_CUST_UND
> > > 2012-03-28                        NULL                      23.00
> > > 2011-09-28                        2                              0.65
> > > 2012-05-16                        2                              0.69
> > > 2012-05-16                        4                              1.55
> > > 2011-09-28                        59                            3.05
> > > 2011-10-27                        77                            3.75
> > > 2012-02-17                        77                            3.05
> > > 2011-09-30                        79                            2.25
> > > 2012-02-17                        97                            2.25
> > > 2011-09-30                        99                            22.14
> > > 2011-09-30                        121                          7.56
> > > 2011-09-30                        139                          46.00
> > > 2012-02-17                        140                          16.50
> > > 2012-02-17                        144                          3.71
> > > 2011-09-30                        144                          6.55
> > > 2012-05-16                        161                          3.71
> > > 2011-09-30                        161                          3.70
> > >
> > > O resultado que preciso trazer é o valor (EST_CUST_UND) com a data
> > > (EST_DATA_ENTRADA) mais recente.
> > >
> > > Muito obrigado,
> > >
> > > Bruno
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> > >
> >
> > --
> > Att,
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > ------------------------------------
> >
> >
> > ----------------------------------------------------------
> > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> > inteira responsabilidade de seus remetentes.
> > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> > ----------------------------------------------------------
> > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
> > Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO
> ESPAÇO!
> > VISITE: http://www.oraclebr.com.br/
> > ---------------------------------------------------------- Links do
> Yahoo!
> > Grupos
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> --
> Att,
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> ------------------------------------
>
> ----------------------------------------------------------
> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> inteira responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> ----------------------------------------------------------
> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
> Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO!
> VISITE: http://www.oraclebr.com.br/
> ---------------------------------------------------------- Links do Yahoo!
> Grupos
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Att,


[As partes desta mensagem que não continham texto foram removidas]



------------------------------------

--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  
------------------------------------------------------------------------------------------------------------------------
 Links do Yahoo! Grupos

[As partes desta mensagem que não continham texto foram removidas]

Responder a