2012-02-01 78 views
8

Duplicar posibles:
How can I combine multiple rows into a comma-delimited list in Oracle?Transformar filas SQL en valores separados por comas en Oracle

¿Cómo se puede producir un archivo de valores separados por comas de la lista de filas de retorno en SQL sin crear una ¿función? Necesita eliminar duplicados y nulo o con 'Ninguno' como valor.

Ejemplo: select name from student;

El resultado:

  NAME   
     ------ 
     Zed 
     Charlo 
     None 
     Charlo 
     Dionn 
     Ansay 

salida deseada:

   Name 
      ------- 
      Zed,Charlo,Dionn,Ansay 
+1

es esto no es un duplicado Me sorprendería . –

+0

primer acierto: http://stackoverflow.com/questions/468990/how-can-i-combine-multiple-rows-into-a-comma-delimited-list-in-oracle –

+0

BTW: si tiene alguna pregunta de Oracle , prefija su búsqueda en Internet con "Tom kyte" –

Respuesta

20

http://sqlfiddle.com/#!4/9ad65/2

select 
    listagg(name, ',') 
    within group (order by id) as list 
from student 
+4

Divulgación completa: sqlfiddle.com es mi sitio. –

+0

@JakeFeasel SQL Fiddle se ve muy bien! – Sathya

+1

@Sathya gracias, espero que la gente aquí lo encuentre una herramienta útil para responder este tipo de preguntas. –

Cuestiones relacionadas