SQL 服务器中的记录串联
Concatenation of Records in SQL Server
我需要根据以下条件从 SQL 服务器获取数据。
数据库中有列 Ticketnumber
和 comments
。对于一个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
。
请提供查询。提前致谢
之前有一个 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
的帮助
我需要根据以下条件从 SQL 服务器获取数据。
数据库中有列 Ticketnumber
和 comments
。对于一个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
。
请提供查询。提前致谢
之前有一个 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
的帮助