-1

I have a table as below:

FileHash              FilePath
1                     A.txt
3                     e.txt
3                     f.txt
3                     g.txt
3                     h.txt
2                     B.txt
2                     c.txt

In T-SQL, How to concatenate the first 3 FilePath of each FileHash as follows:

FileHash              FilePath
1                     A.txt
2                     B.txt, C.txt
3                     e.txt, f.txt, g.txt
Pரதீப்
  • 88,697
  • 17
  • 124
  • 160
ricky
  • 1,918
  • 3
  • 18
  • 45

1 Answers1

1

One method:

WITH files
     AS (SELECT DISTINCT FileHash
         FROM   dbo.test)
SELECT FileHash,
       Stuff((SELECT ', ' + FilePath
              FROM   dbo.Test AS fp
              WHERE  fp.FileHash = files.FileHash
              FOR XML PATH('')), 1, 2, '') AS FilePath
FROM   files; 
Pரதீப்
  • 88,697
  • 17
  • 124
  • 160
Dan Guzman
  • 38,909
  • 3
  • 38
  • 62