我在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
如果有人可以帮助我做到这一点,我会感到非常高兴。
感谢@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'