2012-02-01 28 views
8

thể trùng lặp:
How can I combine multiple rows into a comma-delimited list in Oracle?Chuyển Hàng SQL vào giá trị Comma-Separated trong Oracle

Làm thế nào bạn có thể tạo ra một giá trị bằng dấu phẩy tách ra khỏi danh sách các hàng trở lại trong SQL mà không cần tạo một chức năng? Cần loại bỏ các bản sao và null hoặc bằng 'Không' làm giá trị.

Ví dụ: select name from student;

Kết quả:

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

đầu ra mong muốn:

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

là đây không phải là dupe Tôi sẽ ngạc nhiên . –

+0

lần truy cập đầu tiên: http://stackoverflow.com/questions/468990/how-can-i-combine-multiple-rows-into-a-comma-delimited-list-in-oracle –

+0

BTW: nếu bạn có bất kỳ câu hỏi nào về Oracle , tiền tố tìm kiếm trên internet của bạn với "Tom kyte" –

Trả lời

20

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

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

Tiết lộ đầy đủ: sqlfiddle.com là trang web của tôi. –

+0

@JakeFeasel SQL Fiddle trông khá gọn gàng! – Sathya

+1

@Sathya cảm ơn, tôi hy vọng mọi người ở đây sẽ tìm thấy nó một công cụ hữu ích để trả lời các loại câu hỏi này. –

Các vấn đề liên quan