-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ரதீப்
  • 91,748
  • 19
  • 131
  • 172
ricky
  • 2,058
  • 4
  • 23
  • 49

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ரதீப்
  • 91,748
  • 19
  • 131
  • 172
Dan Guzman
  • 43,250
  • 3
  • 46
  • 71