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

SSRS - Group_Concat Tương đương sử dụng Biểu thức?

hãy thử một cái gì đó như thế này (hoạt động trên SQL Server 2005 trở lên):

set nocount on;
declare @t table (id int, name varchar(20), x char(1))
insert into @t (id, name, x)
select 1,'test1', 'a' union
select 1,'test1', 'b' union
select 1,'test1', 'c' union
select 2,'test2', 'a' union
select 2,'test2', 'c' union
select 3,'test3', 'b' union
select 3,'test3', 'c' 
SET NOCOUNT OFF

SELECT p1.id, p1.name,
          stuff(
                   (SELECT
                        ', ' + x
                        FROM @t p2
                        WHERE p2.id=p1.id
                        ORDER BY name, x
                        FOR XML PATH('') 
                   )
                   ,1,2, ''
               ) AS p3
      FROM @t p1
     GROUP BY 
        id, name

ĐẦU RA:

id          name                 p3
----------- -------------------- ---------
1           test1                a, b, c
2           test2                a, c
3           test3                b, c

(3 row(s) affected)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách Chèn kết quả của một thủ tục đã lưu trữ vào một bảng tạm thời trong SQL Server

  2. Cách chạy đồng thời SQL Server 2017 &2019 trên máy Mac

  3. máy chủ sql chọn cột theo số

  4. Bảng Tally để chèn các ngày còn thiếu giữa hai ngày? SQL

  5. Cách đổi tên tất cả các Ràng buộc mặc định theo Tiêu chuẩn đặt tên hoặc Quy ước đặt tên trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 93