Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

danh sách được phân tách bằng dấu phẩy dưới dạng một chuỗi đơn, T-SQL

Bạn có thể sử dụng FOR XML PATHSTUFF để nối nhiều hàng thành một hàng:

select distinct t1.id,
  STUFF(
         (SELECT ', ' + convert(varchar(10), t2.date, 120)
          FROM yourtable t2
          where t1.id = t2.id
          FOR XML PATH (''))
          , 1, 1, '')  AS date
from yourtable t1;

Xem SQL Fiddle với Demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 cách trả về danh sách công việc tác nhân máy chủ SQL (T-SQL)

  2. Cách thay đổi thông số giá trị bảng

  3. Mẹo sửa lỗi phân mảnh chỉ mục máy chủ SQL

  4. Mệnh đề WHERE so với ON khi sử dụng JOIN

  5. Nhận ngày từ một số tuần trong T-SQL