2012-02-01 22 views
8

Olası Çoğalt:
How can I combine multiple rows into a comma-delimited list in Oracle?Oracle'da Virgülle Ayrılmış değerlere SQL satır Transform

Nasıl bir yaratmadan SQL dönüş satır listesinden bir virgülle ayrılmış değerler üretebilir işlev? Yinelenen ve null veya 'Hiçbiri' ile değer olarak kaldırmanız gerekir.

Örnek: select name from student;

sonucu:

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

İstenilen çıktı:

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

bu sürpriz olacaktı bir dupe değil mi . –

+0

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

+0

BTW: Herhangi bir Oracle sorunuz varsa , "Tom kyte" –

cevap

20

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

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

ile internet arama öneki Tam açıklama: sqlfiddle.com sitemdir. –

+0

@JakeFeasel SQL Fiddle oldukça düzgün görünüyor! – Sathya

+1

@Sathya teşekkürler, umarım buradaki insanlar bu tür soruları cevaplamak için yararlı bir araç bulurlar. –

İlgili konular