Abel este seu select talvez não seja a melhor maneira , pois se vc tiver mais de um produto com o menor valor , o ROWNUM =1 trara apenas uma linha
Ve se funciona este select e se o tempo de performance é vantajoso set timing on select b.Pro_In_Codigo Produto, b.Agn_In_Codigo Fornecedor, b.Cof_Re_Vlcustu "Melhor Oferta de Custo" from mgadm.Est_Itenscotpreco b where b.Cof_Re_Vlcustu = (select min(Cof_Re_Vlcustu) from mgadm.Est_Itenscotpreco) and b.Cot_In_Codigo = 9616 and b.Org_Tab_In_Codigo = 53 and b.Org_Pad_In_Codigo = 1 and b.Org_In_Codigo = 8 and b.Org_Tau_St_Codigo = 'G' and b.Pro_Tab_In_Codigo = 100 and b.Pro_Pad_In_Codigo = 1 and b.Pro_In_Codigo = 26532 and b.Cof_Re_Vlcustu > 0 set timing off Abs ----- Original Message ----- From: Abel - Informatica To: oracle_br@yahoogrupos.com.br Sent: Thursday, December 07, 2006 8:15 AM Subject: [oracle_br] Mínimo valor usando sub-select select b.Pro_In_Codigo Produto, b.Agn_In_Codigo Fornecedor, b.Cof_Re_Vlcustu "Melhor Oferta de Custo" from mgadm.Est_Itenscotpreco b where b.Cot_In_Codigo = 9616 and b.Org_Tab_In_Codigo = 53 and b.Org_Pad_In_Codigo = 1 and b.Org_In_Codigo = 8 and b.Org_Tau_St_Codigo = 'G' and b.Pro_Tab_In_Codigo = 100 and b.Pro_Pad_In_Codigo = 1 and b.Pro_In_Codigo = 26532 and b.Cof_Re_Vlcustu > 0 group by b.Pro_In_Codigo, b.Agn_In_Codigo, Cof_Re_Vlcustu order by 3 Olá, estou utilizando a instrução SQL acima e após executar a mesma, ela me retorna a seguinte informação : Produto Fornecedor Melhor Oferta de Custo 26532 13254 22,17959 26532 16318 22,86054 26532 19074 23,34693 26532 17096 24,31972 Preciso retornar o menor valor entre os listados acima porém preciso tbém da informação do Produto e do Fornecedor. Para isso, utilizei a seguinte forma : select xx.* from ( select b.Pro_In_Codigo Produto, b.Agn_In_Codigo Fornecedor , b.Cof_Re_Vlcustu "Melhor Oferta de Custo" from mgadm.Est_Itenscotpreco b where b.Cot_In_Codigo = 9616 and b.Org_Tab_In_Codigo = 53 and b.Org_Pad_In_Codigo = 1 and b.Org_In_Codigo = 8 and b.Org_Tau_St_Codigo = 'G' and b.Pro_Tab_In_Codigo = 100 and b.Pro_Pad_In_Codigo = 1 and b.Pro_In_Codigo = 26532 and b.Cof_Re_Vlcustu > 0 group by b.Pro_In_Codigo, b.Agn_In_Codigo, Cof_Re_Vlcustu order by 3 ) xx where rownum = 1 A pergunta é : Esta é a melhor forma de se fazer isso ? Existe outra forma de se conseguir o mesmo resultado sem utilizar o sub-select ? Aguardo seus comentários. Att. Abel de Souza Magalhães ___________________________________ Depto. Informática Ober S/A Indústria e Comércio [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> http://www.ober.com.br <http://www.ober.com.br/> (19) 3466-9200 R. 9391 [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]