从逗号分隔的列中选择一个值

问题描述 投票:0回答:1

我在SQL Server中有两个表,分别包含用户和项目。我必须从另一个表中获取用逗号分隔的列的用户名,如下所示:

tbl_Users

userID   |    userName
---------+------------
1        |  Thomas
2        |  Jack
3        |  James
4        |  Jones

tbl_Projects

projectID   |  projectName  | projectUsers
------------+---------------+-------------
5850        |  New Project  |    1,3
5895        |Another Project|    1,2,4

我需要从projectUsers输出[895]的tbl_Projects为5895,其全名来自tbl_Users,如下所示:

userID   |   userName
---------+-----------
1        |  Thomas
2        |  Jack
4        |  Jones

如果有人可以帮助我做到这一点,我会感到非常高兴。

sql-server comma
1个回答
0
投票

感谢@dcp,我得到了我的答案,如果有人需要它,我希望进行更新。

SELECT
    c.[userID] AS userID,
    c.[userName] AS userName
FROM
    dbo.tbl_Projects AS T
    outer apply STRING_SPLIT(T.[projectUsers], ',') s
    left join dbo.tbl_Users as c on c.userID = s.value
where T.[projectID] = '5895'
© www.soinside.com 2019 - 2024. All rights reserved.