简体   繁体   English

在查询中合并具有相同ID的行

[英]combine row with the same id in a query

Here's my query 这是我的查询

select * 
from Owner_TABLE

Results: 结果:

RollNumber         People_ID   Owner
-------------------------------------------
444201000100100      12        Jame Bond
444201000100100      14        Sam Doris
444201000100200      16        Jane Doe
444201000100200      17        John Morris
444201000100300      18        Mandy Noor

My objective here is to work out how I can combine the Owner into one row with the same RollNumber ? 我的目的是弄清楚如何将所有者与同一RollNumber合并为一行?

Like => 喜欢=>

RollNumber         Owner
----------------------------------------
444201000100100    James Bond, Sam Doris

Is this possible? 这可能吗?

To give an example of what the comments have been pointing to: 举例说明评论所指向的内容:

WITH ex as
(SELECT '444201000100100' as 'RollNumber', '12' as 'PeopleID', 'Jame Bond' as 'Owner'
UNION
SELECT '444201000100100', '14', 'Sam Doris'
UNION
SELECT '444201000100200', '16', 'Jane Doe'
UNION
SELECT '444201000100200', '17', 'John Morris'
UNION
SELECT '444201000100100', '18', 'Mandy Noor'
) 
SELECT RollNumber, STUFF((SELECT ', ' + e.Owner
                          FROM ex e
                          WHERE e.RollNumber = a.RollNumber
                          FOR XML PATH('')
                          ),1,2,'') as 'Owners'
FROM ex a
GROUP BY RollNumber

The STUFF() removes the remaining extra comma. STUFF()删除剩余的多余逗号。 The FOR XML clause formats the result set...for XML. FOR XML子句格式化FOR XML的结果集...。

Try this to get a better feel of FOR XML PATH : 尝试这样做以获得更好的FOR XML PATH感觉:

SELECT Owner
FROM ex
FOR XML PATH('')

Hi just want to share done the script and thanks for the people who posted their suggestions. 大家好,我只想分享完成脚本,并感谢发布建议的人们。

select p1.RollNumber,
(SELECT  FullName+', '  
FROM [dbo].[view_Owners_roll] p2 
WHERE
p1.RollNumber=p2.RollNumber 
for XML path(''),type).value('.','varchar(max)') 
as Name  from [dbo].[view_Owners_roll] p1 group by RollNumber

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM