Em questão de performance o row_number() é extremamente mais eficaz. Falei sobre isso neste post: http://bancotunado.blogspot.com.br/2012/03/o-destruidor-where-rownum-valor.html
Abraço moçada. Evandro Giachetto Oracle DBA Sr at UOL Diveo Corp. evandrogiache...@gmail.com Em 2 de abril de 2012 11:53, Eduardo Rodrigues <oraedua...@gmail.com>escreveu: > ** > > > Bom dia, Carlos > > Eu recomendo o uso do row_number(). O exemplo do Nino pode te ajudar > abastante. > *Eduardo Rodrigues* > > Em 2 de abril de 2012 11:25, Nino <ninoba...@gmail.com> escreveu: > > > > eu tenho algo parecido com o que vc ta precisando, acho que é só dar uma > > adaptada pras suas tabelas, olha esse select: > > > > SELECT * FROM ( > > SELECT salesrep_id, creation_date, header_id_origi, ROW_NUMBER() > > OVER ( > > PARTITION BY salesrep_id ORDER BY creation_date DESC > > ) Top3 FROM xtim_cn_agrupa_transacao > > ) > > WHERE Top3 <= 3 > > / > > > > ele pega as 3 ultimas transacoes por ponto de venda (salesrep_id) > > > > > > > > > > > > On Mon, Apr 2, 2012 at 6:42 AM, Carlos Eduardo Goncalves < > > cegoncalve...@yahoo.com.br> wrote: > > > > > ** > > > > > > > > > itent_pro.cd_produto = codigo do produto. > > > > > > cada linha é uma entrada de NF no meu estoque, sim! > > > > > > ex: > > > Fornecedor: Produto: Vl.total Dt.entrada > > > Imex AS 45,00 26/03/2012 > > > Amei AS 55,00 20/04/2011 > > > Corpho AS 56,00 01/02/2011 > > > > > > Isso, para cada produto. > > > > > > Cada linha a cima é uma entrada de NF que ocorreu. > > > Preciso mostrar as 03 ultimas entradas de cada produto. > > > > > > Entendeu? > > > > > > De: Milton Bastos Henriquis Jr. <miltonbas...@gmail.com> > > > Para: oracle_br@yahoogrupos.com.br > > > Enviadas: Segunda-feira, 2 de Abril de 2012 10:28 > > > Assunto: Re: [oracle_br] Mostrar as 03 ultimas entradas dos produtos no > > > estoque > > > > > > Ah, me perdoe, vc não tinha explicado esse detalhe, disse apenas "3 > > últimas > > > entradas dos produtos", e não de cada produto... > > > E como a gente não sabe absolutamente nada do teu negócio, fica mais > > > difícil. > > > > > > Dá uma esclarecida pra ajudar o pessoal... o que é "cada produto" pra > vc? > > > É o campo itent_pro.cd_produto ? > > > > > > E o que significa "Cada entrada"? > > > Cada linha do retorno desse seu select é uma "entrada"? > > > > > > On Mon, Apr 2, 2012 at 10:21 AM, Carlos Eduardo Goncalves < > > > cegoncalve...@yahoo.com.br> wrote: > > > > > > > ** > > > > > > > > > > > > > > > > > > > > Milton! > > > > > > > > com a sua orientação, o select Trouxe 03 ultimas entradas do geral. > > > > Não mostrou as 03 ultimas entradas de cada produto > > > > Preciso mostrar as 03 ultimas entradas de cada produto... > > > > > > > > De: Milton Bastos Henriquis Jr. <miltonbas...@gmail.com> > > > > Para: oracle_br@yahoogrupos.com.br > > > > Enviadas: Segunda-feira, 2 de Abril de 2012 10:13 > > > > Assunto: Re: [oracle_br] Mostrar as 03 ultimas entradas dos produtos > no > > > > estoque > > > > > > > > > > > > SELECT * > > > > FROM ( *** COLE aqui todo o seu select, > > > > que pelo que entendi já está ordenado ***) > > > > WHERE ROWNUM < 4; > > > > > > > > On Mon, Apr 2, 2012 at 10:03 AM, Carlos Eduardo > > > > <cegoncalve...@yahoo.com.br>wrote: > > > > > > > > > ** > > > > > > > > > > > > > > > > > > > Amigos, bom dia! > > > > > > > > > > preciso mostrar as 03 ultimas entradas dos produtos no meu estoque, > > > estou > > > > > com dificuldade de conseguir exibir somente as 03 ultimas entradas. > > > > > O select ja esta pronto: > > > > > > > > > > select > > > > > fornecedor.nm_fornecedor, > > > > > itent_pro.cd_produto, > > > > > produto.ds_produto, > > > > > verif_ds_unid_prod(produto.cd_produto) ds_unidade, > > > > > vl_unitario, > > > > > sum( itent_pro.qt_entrada * uni_pro.vl_fator / > > > > > verif_vl_fator_prod(produto.cd_produto))qt_entrada, > > > > > sum( nvl( itent_pro.vl_total_custo_real , 0) ) vl_total , > > > > > dt_entrada > > > > > > > > > > FROM dbamv.tip_doc, > > > > > dbamv.fornecedor, > > > > > dbamv.produto, > > > > > dbamv.uni_pro, > > > > > dbamv.ent_pro, > > > > > dbamv.itent_pro, > > > > > dbamv.estoque > > > > > > > > > > WHERE ent_pro.cd_ent_pro = itent_pro.cd_ent_pro > > > > > AND ent_pro.cd_fornecedor = fornecedor.cd_fornecedor > > > > > --AND fornecedor.tp_cliente_forn in ( 'F', 'A', 'R', 'T' ) > > > > > AND ent_pro.cd_estoque = estoque.cd_estoque > > > > > AND ent_pro.cd_tip_doc = tip_doc.cd_tip_doc > > > > > AND itent_pro.cd_produto = produto.cd_produto > > > > > AND itent_pro.cd_uni_pro = uni_pro.cd_uni_pro > > > > > and produto.cd_produto = 204 > > > > > AND ent_pro.dt_entrada between to_date ('01/01/2011') AND to_date > > > > > ('31/03/2012') > > > > > AND ent_pro.cd_fornecedor is not null > > > > > AND Estoque.Cd_Multi_Empresa = 1 > > > > > and tip_doc.cd_tip_doc=1 > > > > > and produto.cd_especie = 1 > > > > > group by > > > > > fornecedor.cd_fornecedor, > > > > > fornecedor.nm_fornecedor, > > > > > itent_pro.cd_produto, > > > > > produto.ds_produto, > > > > > verif_ds_unid_prod(produto.cd_produto), > > > > > vl_unitario, dt_entrada > > > > > > > > > > order by dt_entrada desc, cd_produto, nm_fornecedor > > > > > > > > > > Tabela/Campos > > > > > > > > > > Preciso mostrar as 03 ultimas Entradas dos Produtos, alguem poderia > > me > > > > > ajudar? > > > > > > > > > > Obg! > > > > > > > > > > > > > > > > > > > > > > > -- > > > > 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] > > > > > > > > > > > > > > > [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] > > > [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 <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ <*> Para sair deste grupo, envie um e-mail para: oracle_br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html