Boa tarde Carlos,

A solução de PIVOT proposta pelo Milton me parece a que melhor resolve da
forma como vc explicou. O único porém é que essa função só existe no 11g.
Se vc estiver em outra versão, ao invés de tranformar linhas em colunas
(comando PIVOT), vc pode concatenar várias linhas em uma única linha usando
CONNECT BY PRIOR, como no exemplo abaixo:

SELECT     x.table_name,
           SUBSTR
              (MAX (REPLACE (SYS_CONNECT_BY_PATH (x.column_name, '/'),
                             '/',
                             ' '
                            )
                   ),
               2
              ) concatenated_string
      FROM (SELECT a.table_name, a.column_name,
                   ROW_NUMBER () OVER (PARTITION BY a.table_name ORDER BY
a.table_name)

ROW_NUMBER
              FROM user_tab_columns a
             WHERE table_name = 'PAIS') x
START WITH x.ROW_NUMBER = 1
CONNECT BY PRIOR x.table_name = x.table_name
       AND PRIOR x.ROW_NUMBER = x.ROW_NUMBER - 1
  GROUP BY x.table_name;
Alterei o exemplo pra usar a view user_tab_columns já que todos acessam
ela. Altere a cláusula WHERE para um nome de tabela que vc possua e veja o
resultado.

Att.

Marcos
Em 25 de abril de 2012 15:49, Carlos Eduardo Goncalves <
cegoncalve...@yahoo.com.br> escreveu:

> **
>
>
> Ricardo,
>
> Fiz o join com as tabelas
> Fornecedor
> For_Com (a qual posui os dois telefones cadastrados para o fornecedor)
>
> Olha a minha mensagem, por favor.
> Pode me ajudar com alguma ideia (e exemplo)
> De: Ricardo Arnoud <ricardo...@gmail.com>
> Para: oracle_br@yahoogrupos.com.br
> Enviadas: Quarta-feira, 25 de Abril de 2012 15:20
> Assunto: Re: [oracle_br] Ajuda no Select para mostrar uma linha somente os
> 02 telefones
>
>
>
> Faz uma join e concatena o resultado como v.telefone1, x.telefone 2.
>
> Ricardo
>
> On Wed, Apr 25, 2012 at 3:16 PM, Nino <ninoba...@gmail.com> wrote:
>
> > vc nao pode fazer uma funcao que concatene todos os telefones do
> > fornecedor?
> >
> >
> >
> > On Wed, Apr 25, 2012 at 3:12 PM, Carlos Eduardo
> > <cegoncalve...@yahoo.com.br>wrote:
> >
> > > **
> > >
> > >
> > > Amigos, boa tarde!
> > >
> > > Preciso mostrar o resultado abaio da seguinte maneira
> > >
> > > Codigo Fornecedor Ds_For_Com
> > > 5572 9999-9999 8888-8888
> > >
> > > Ou seja, preciso mostrar em uma unica linha os 02 telefones que o
> > > fornecedor possui cadastrado. Mas não posso repetir as linhas duas,
> tres
> > > vezes..
> > >
> > > A minha query esta assim:
> > >
> > > select f.cd_fornecedor, ds_for_com from dbamv.fornecedor f,
> dbamv.for_com
> > > c where f.cd_fornecedor = 5572
> > > and f.cd_fornecedor=c.cd_fornecedor
> > >
> > > Resultado:
> > >
> > > Codigo Fornecedor Ds_For_Com
> > > 5572 9999-9999
> > > 5572 8888-8888
> > >
> > > Se alguem puder me ajudar, eu agradeço.
> > >
> > > Obg!
> > >
> > >
> > >
> >
> >
> > [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
> >
> >
> >
>
> --
> --
> Thanks,
> Ricardo Arnoud
> MCP, LPIC-1
> (51) 8205-4658
> MSN ricardo.arn...@hotmail.com
>
> "Não tenho vergonha de mudar de idéia, porque não tenho vergonha de
> pensar."
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> [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


Responder a