Boa tarde Rogério, No 11gR2 você pode usar a função LISTAGG, faça uma busca no nosso amigo Google que você encontra exemplos. Pra versões anteriores aí você vai ter um pouco mais de trabalho e tem várias formas diferentes de fazer. Uma delas é usando a cláusula MODEL, segue um exemplo em cima do esquema HR:
WITH TAB_TEXTO AS ( SELECT MANAGER_ID, FIRST_NAME, JOB_ID, ROW_NUMBER() OVER (PARTITION BY MANAGER_ID ORDER BY EMPLOYEE_ID) X FROM HR.EMPLOYEES WHERE MANAGER_ID IS NOT NULL), TAB_TEXTO2 AS ( SELECT T.*, MAX(X) OVER (PARTITION BY MANAGER_ID) Y FROM TAB_TEXTO T), TAB_TEXTO3 AS ( SELECT MANAGER_ID, TRIM(LEADING ',' FROM C1) C1, TRIM(LEADING ',' FROM C2) C2 FROM TAB_TEXTO2 *MODEL* PARTITION BY (MANAGER_ID) DIMENSION BY (X) MEASURES (FIRST_NAME, JOB_ID, Y, CAST(NULL AS VARCHAR2(4000)) AS C1, CAST(NULL AS VARCHAR2(4000)) AS C2) RULES ITERATE (100) UNTIL (ITERATION_NUMBER+1 >= Y[1]) ( C1[1] = C1[1] || ',' || FIRST_NAME[ITERATION_NUMBER+1], C2[1] = C2[1] || ',' || JOB_ID[ITERATION_NUMBER+1] )) SELECT * FROM TAB_TEXTO3 WHERE C1 IS NOT NULL; Mas como eu disse, essa é somente uma das formas, outra forma é você construir funções em PL/SQL, e assim por diante. Abraços, Ricardo Hideyuki Tajiri LaRCom - FEEC - UNICAMP Em 9 de agosto de 2011 14:13, Lo Bello <rogerio...@gmail.com> escreveu: > ** > > > Pessoal, > > tenho uma dúvida, existe algum função que retorne todos os valores de um > campo não agrupado. > > Exemplo: > TABELA_CLIENTE tem os campos -> CODIGO, NOME, VALOR > > quero fazer um SELECT mais ou menos assim: > > SELECT FUNCAO(CODIGO) AS CODIGOS, NOME, SUM(VALOR) AS TOTAL FROM > TABELA_CLIENTE GROUP BY NOME > > o resultado desse SELECT tem que me retornar uma linhas me trazendo o > seguinte > CODIGOS = 1, 2, 3 > NOME = JOSÉ > TOTAL = 1000,00 > > Resumindo preciso de uma função que me retorne todos os códigos referente a > esse agrupamento. > > Se tenho 3 "JOSÉ", me traga o TOTAL desses 3 josé, e o código desses 3 > JOSÉS. > > Rogério > > [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