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

Làm cách nào để tạo danh sách được phân tách bằng dấu phẩy bằng truy vấn SQL?

MySQL

  SELECT r.name,
         GROUP_CONCAT(a.name SEPARATOR ',')
    FROM RESOURCES r
    JOIN APPLICATIONSRESOURCES ar ON ar.resource_id = r.id
    JOIN APPLICATIONS a ON a.id = ar.app_id
GROUP BY r.name

SQL Server (2005+)

SELECT r.name,
       STUFF((SELECT ',' + a.name
               FROM APPLICATIONS a
               JOIN APPLICATIONRESOURCES ar ON ar.app_id = a.id
              WHERE ar.resource_id = r.id
           GROUP BY a.name
            FOR XML PATH(''), TYPE).value('text()[1]','NVARCHAR(max)'), 1, LEN(','), '')
 FROM RESOURCES r

SQL Server (2017+)

  SELECT r.name,
         STRING_AGG(a.name, ',')
    FROM RESOURCES r
    JOIN APPLICATIONSRESOURCES ar ON ar.resource_id = r.id
    JOIN APPLICATIONS a ON a.id = ar.app_id
GROUP BY r.name

Oracle

Tôi khuyên bạn nên đọc về tổng hợp / kết hợp chuỗi trong Oracle.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thực thi sp_msforeachdb trong ứng dụng Java

  2. Nhận cảnh báo:Giá trị rỗng bị loại bỏ bởi hoạt động tổng hợp hoặc SET khác

  3. Thay đổi một hàm có giá trị bảng trong SQL Server

  4. Cách chèn một đốm màu vào cơ sở dữ liệu bằng studio quản lý máy chủ sql

  5. “Lỗi nghiêm trọng kết nối nội bộ” khi thực thi một quy trình được lưu trữ được biên dịch hoàn toàn trong SQL Server 2019 (Lỗi đã biết)