Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara menggabungkan beberapa baris?

Untuk SQL Server 2005+, gunakan fungsi STUFF dan FOR XML PATH:

WITH summary_cte AS (
   SELECT Employee.Id, SUM(Pay) as Salary
     FROM Employee
     JOIN PayCheck ON PayCheck.EmployeeId = Employee.Id
 GROUP BY Employee.Id)
SELECT sc.id, 
       sc.salary,
       STUFF((SELECT ','+ yt.data
                FROM your_table yt
               WHERE yt.id = sc.id
            GROUP BY yt.data
             FOR XML PATH(''), TYPE).value('.','VARCHAR(max)'), 1, 1, '')
  FROM summary_cte sc

Tapi Anda melewatkan detail tentang di mana data yang ingin Anda ubah menjadi string yang dipisahkan koma, dan bagaimana hubungannya dengan catatan karyawan...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemecahan Masalah Hibah Memori Variabel di SQL Server

  2. Bagaimana Melakukan GABUNGAN ANTI SEMI KIRI di SQL Server

  3. SQL ganti semua NULL

  4. 5 Sumber Daya Hebat untuk Membantu Anda Mengguncang Peran Pemantauan Basis Data Anda

  5. Bagaimana cara memanggil Prosedur Tersimpan dalam Tampilan?