gpt4 book ai didi

在一行中返回结果的 SQL 过程

转载 作者:行者123 更新时间:2023-12-04 06:19:14 27 4
gpt4 key购买 nike

我有一份报告,它是在 SSRS 2005 中开发的,我正在使用存储过程从数据库中获取结果。报告输出的结果非常简单,如下图所示。

如果假设我正在寻找不同的成员
例如:-

 MemberID
c108
c109
c110
...

如下图所示。
因此,每个成员都有不同的用户,每个用户都有不同的角色。
enter image description here

但我需要一行,如下所示。
MemberID  UserID    Roles
c108 22492 SystemOperator,ItemResearcher,Non-Decision Role,Security Administrator, Decisioning Administrator,Reporting,Corporate Administrator
c108 22469 SystemOperator,ItemResearcher,Non-Decision Role,Security Administrator,Decisioning Administrator

这样每个用户的所有角色都可以显示在 SSRS(报告)中的一行中,并以“,”分隔。

编写存储过程以产生这样的结果的最简单方法是什么。

请注意:- 可能会有一些变化,如果我的老板希望我也只在 1 行中使用 ',' 分隔来获取 userId,那么我必须能够轻松修改查询。请建议我。非常感谢您花时间阅读并理解我的问题。

最佳答案

如果这是 MySQL,您将使用 GROUP_CONCAT 函数来创建逗号分隔列表:

SELECT MemberID, UserID, GROUP_CONCAT(Role) AS Roles
FROM myTable
GROUP BY MemberID, UserID

但是,由于这是 MSSQL,因此您需要伪造 GROUP_CONCAT 之类的内容,例如 this

关于在一行中返回结果的 SQL 过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6822087/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com