T-SQL:组合来自多个评论的用户名
将多个相关表中的数据聚合到一个以逗号分隔的字符串中是数据库管理中的常见需求。 此示例演示了实现此目的的 T-SQL 方法,特别是针对评论、审阅者和用户之间的多对多关系。
使用子查询的简洁解决方案提供了一种有效的方法:
<code class="language-sql">SELECT r.ReviewID, r.ReviewDate, ( SELECT u.FName + ',' FROM @Users u INNER JOIN @Reviewers rs ON u.UserID = rs.UserID WHERE rs.ReviewID = r.ReviewID FOR XML PATH('') ) AS UserNames FROM @Reviews r</code>
这是一个细分:
@Reviews
:此表存储评论详细信息(ReviewID、ReviewDate)。@Reviewers
:此表链接评论和评论者(ReviewerID、ReviewID、UserID)。@Users
:该表包含用户信息(UserID、FName、LName)。SELECT
语句连接 @Users
和 @Reviewers
以检索与每条评论关联的名字 (FName
)。FOR XML PATH('')
有效地将 FName
值连接成单个字符串,并用逗号分隔。此查询按 ReviewID
对结果进行分组,生成一个合并输出,其中每个评论由单行表示,包括其 ReviewID
、ReviewDate
以及以逗号分隔的关联用户名字列表。 这直接解决了将与每个评论相关的多个用户名合并到单个记录中的需要。
以上是如何在 T-SQL 中对与多个评论相关的用户名进行分组和连接?的详细内容。更多信息请关注PHP中文网其他相关文章!