14

我有下表: tblFile

文件

我想要的输出:

在此处输入图像描述

我将许多行连接成一个文本字符串;但是,我无法正确分组。由于现在的代码将只显示 FileNameString 字段中的每条记录:AAA、BBB、CCC、DDD、EEE、FFF

任何关于分组的建议!

SELECT FileID, Stuff(
(SELECT     N', ' + CONVERT(Varchar, FileName) 
FROM         tblFile  FOR XML PATH(''),TYPE )
.value('text()[1]','nvarchar(max)'),1,2,N'')AS FileNameString 
From tblFile
GROUP BY FileID
4

1 回答 1

20

尝试这个 -

SELECT DISTINCT
      fileid
    , STUFF((
        SELECT N', ' + CAST([filename] AS VARCHAR(255))
        FROM tblFile f2
        WHERE f1.fileid = f2.fileid ---- string with grouping by fileid
        FOR XML PATH (''), TYPE), 1, 2, '') AS FileNameString
FROM tblFile f1
于 2013-08-21T16:18:51.063 回答