sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan sammenkædes flere rækker?

For SQL Server 2005+ skal du bruge TING-funktionen og 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

Men du mangler detaljer om, hvor de data, du vil gøre til en kommasepareret streng, er, og hvordan det relaterer sig til en medarbejderpost...



  1. MySQL IN-operatørens ydeevne på (stort?) antal værdier

  2. Er det muligt at udføre flere opdateringer med en enkelt UPDATE SQL-sætning?

  3. Spring-Boot, kan ikke gemme unicode-streng i MySql ved hjælp af spring-data JPA

  4. MySQL giver læst ECONNRESET fejl efter inaktiv tid på node.js server