SQL Server中记录的连接
我需要根据以下条件从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
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:-希望这能回答你的问题!