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

Làm cách nào để nối nhiều hàng có cùng id trong sql?

Trong SQL-Server bạn có thể làm điều đó theo cách sau:

QUERY

SELECT id, displayname = 
    STUFF((SELECT DISTINCT ', ' + displayname
           FROM #t b 
           WHERE b.id = a.id 
          FOR XML PATH('')), 1, 2, '')
FROM #t a
GROUP BY id

DỮ LIỆU KIỂM TRA

create table #t 
(
id int,
displayname nvarchar(max)
)

insert into #t values    
 (1 ,'Editor')
,(1 ,'Reviewer')
,(7 ,'EIC')
,(7 ,'Editor')
,(7 ,'Reviewer')
,(7 ,'Editor')
,(19,'EIC')
,(19,'Editor')
,(19,'Reviewer')

ĐẦU RA

id  displayname
1   Editor, Reviewer
7   Editor, EIC, Reviewer
19  Editor, EIC, Reviewer


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server Internals:Các toán tử có vấn đề Pt. III - Các loại

  2. Chỉ mục không sử dụng máy chủ SQL

  3. Cách sử dụng cùng một lịch biểu cho nhiều công việc tác nhân máy chủ SQL (T-SQL)

  4. Cấu hình theo phạm vi cơ sở dữ liệu SQL Server và sửa kế hoạch tự động

  5. Làm cách nào để thực hiện IF ... THEN trong SQL SELECT?