SQL 服务器中的记录串联

Concatenation of Records in SQL Server

我需要根据以下条件从 SQL 服务器获取数据。

数据库中有列 Ticketnumbercomments。对于一个Ticketnumber有多个记录,对于同一个票号有多个评论存储在不同的记录中。每当我检索 ticketnumbercomments 列时,评论应该连接在单个记录中。

我们来看一个例子:

Ticketnumber       Comments        
-------------------------------
1002               Case raised    
1003               Case raised
1002               Processing,
1003               resolved
1002               resolved

预期输出应为:

Ticketnumber       Comments
-----------------------------------------------
1002               Case raise,processing,resolved,
1003               case raised,resolved  

所有的评论都应该像上面那样连接成单个 ticketnumber

请提供查询。提前致谢

之前有一个 post 在这里有类似的答案:

Concatenate many rows into a single text string?

试试这个:

Select X.Ticketnumber,
       Left(X.yourtable,Len(X.yourtable)-1) As "comments"
From
    (
        Select distinct y.Ticketnumber, 
            (
                Select x.comments  + ',' AS [text()]
                From dbo.yourtable x
                Where x.Ticketnumber= y.Ticketnumber
                ORDER BY x.SubjectID
                For XML PATH ('')
            ) [yourtable]
        From dbo.yourtable y
    ) [X]

得到source thread

的帮助