连接行值T-SQL
我试图将一些数据汇总到一个报告中,并需要连接其中一个表的行值。这是基本的表结构:
评测
ReviewID
ReviewDate
评审
ReviewerID
ReviewID
UserID
用户
UserID
FName
LName
这是M:M的关系。每个评论都可以有很多评论者; 每个用户都可以与许多评论相关联。
基本上,我想要看的是Reviews.ReviewID,Reviews.ReviewDate,以及该Review的所有相关用户的FName的串联字符串(以逗号分隔)。
代替:
ReviewID---ReviewDate---User
1----------12/1/2009----Bob
1----------12/1/2009----Joe
1----------12/1/2009----Frank
2----------12/9/2009----Sue
2----------12/9/2009----Alice
显示这个:
ReviewID---ReviewDate----Users
1----------12/1/2009-----Bob, Joe, Frank
2----------12/9/2009-----Sue, Alice
我发现这篇文章描述了一些方法,但是大多数方法似乎只处理一个表而不是多个; 不幸的是,我的SQL-fu不够强大,无法根据我的情况进行调整。我对该网站上使用FOR XML PATH()的示例特别感兴趣,因为它看起来最干净,最直接。
SELECT p1.CategoryId,
( SELECT ProductName + ', '
FROM Northwind.dbo.Products p2
WHERE p2.CategoryId = p1.CategoryId
ORDER BY ProductName FOR XML PATH('')
) AS Products
FROM Northwind.dbo.Products p1
GROUP BY CategoryId;
任何人都可以帮我一把吗?任何帮助将不胜感激!
BIG阳
慕桂英4014372
FFIVE
相关分类