SQL Server中记录的连接

SQL Server中记录的连接,sql,sql-server,sql-server-2012,concatenation,Sql,Sql Server,Sql Server 2012,Concatenation,我需要根据以下条件从SQL Server获取数据 数据库中有列Ticketnumber和注释。对于Ticketnumber有多条记录,对于同一个票号,有多条注释存储在不同的记录中。每当我检索ticketnumber和comments列时,注释都应该连接到单个记录中 让我们看一个例子: Ticketnumber Comments ------------------------------- 1002 Case raised 1003

我需要根据以下条件从SQL Server获取数据

数据库中有列
Ticketnumber
注释
。对于
Ticketnumber
有多条记录,对于同一个票号,有多条注释存储在不同的记录中。每当我检索
ticketnumber
comments
列时,注释都应该连接到单个记录中

让我们看一个例子:

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


请提供查询。提前感谢

这里有一篇关于类似问题的回复:

试试这个:

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]

获取帮助后,您也应该在此处发布答案(以及与来源的链接),因为该链接可能不可用。这是一个stackoverflow链接。如果有任何问题,他应该将问题标记为重复。谢谢Rahul,您的快速回答,如果我需要将多个列与此分开,那么我应该在哪里添加列名。@shaikahamad:-
如果您要将多个列
。我没有理解!上面我们只获取了两列,如果需要获取其他列,那么如何获取呢?例如:Ticketnumber,comments,id,user,time这些是我需要获取的列,但是只有comments我才需要连接。@shaikahamad:-您只需在第一次选择时添加它,如下所示:
select X.Ticketnumber,Left(X.yourtable,Len(X.yourtable)-1)作为“comments”,id,user,时间…
@shaikahamad:-希望这能回答你的问题!