NaPraia 12 Denunciar post Postado Junho 24, 2013 boa tarde, estou com uma consulta do tipo: select país, migra from tabela; e me retorna os seguintes dados: país - migra FRANÇA - 0 FRANÇA - 0 FRANÇA - 0 FRANÇA - 0 ITALIA - 0 ITALIA - 0 ITALIA - 1 no caso, do jeito que retornam os dados eu deveria migrar apenas um registro, do tipo ITALIA, mas tenho que levar todos do tipo ITALIA tem alguma função que posso ajudar nisso, que ficaria como uma nova coluna (exemplo migracao), que fique do jeito select país, migra, migracao from tabela; país - migra - migracao FRANÇA - 0 - 0 FRANÇA - 0 - 0 FRANÇA - 0 - 0 FRANÇA - 0 - 0 ITALIA - 0 - 1 ITALIA - 0 - 1 ITALIA - 1 - 1 Pois como o migra está como 1 para um PAIS, eu teria que migrar todos. já a a FRANCA com não retorna com nenhum 'migra' = 1, não migro nada. Desculpe se não estou me expressando direito Espero que possam ajudar Valeu, obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Junho 24, 2013 select país, migra from tabela t1 where exists (select null from tabela t2 where t2.pais = t1.pais and t2.migra = 1) ou select país, migra , (select max(t2.migra) from tabela t2 where t2.pais = t1.pais) from tabela t1 ajudou ? Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Junho 24, 2013 valeu, mas eu queria ver se tem como fazer com alguma função pronta do Oracle, não quero usar subconsulta. valeu, consegui usando a seguinte função MAX(salary) KEEP (DENSE_RANK LAST ORDER BY commission_pct) OVER (PARTITION BY department_id) "Best" Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Junho 24, 2013 Beleza, estas funções analíticas são poderosas. Compartilhar este post Link para o post Compartilhar em outros sites