2012-02-01 10 views
8

Eventuali duplicati:
How can I combine multiple rows into a comma-delimited list in Oracle?Trasforma Righe SQL in valori separati da virgole in Oracle

Come si può produrre un valori separati da virgole da elenco di righe di ritorno in SQL senza creare un funzione? È necessario rimuovere i duplicati e null o con 'Nessuno' come valore.

Esempio: select name from student;

Il risultato:

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

output desiderato:

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

è questa non è una vittima sarei sorpreso . –

+0

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

+0

BTW: se hai domande su Oracle , prefisso la ricerca su Internet con "Tom kyte" –

risposta

20

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

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

Divulgazione completa: sqlfiddle.com è il mio sito. –

+0

@JakeFeasel SQL Fiddle è molto carino! – Sathya

+1

@Sathya grazie, spero che le persone qui trovino uno strumento utile per rispondere a questo tipo di domande. –

Problemi correlati