Select 来自逗号分隔列的值
Select a value from a comma seperated column
我在 SQL 服务器中有两个 table 用户和项目。我必须从另一个 table 中获取逗号分隔列的用户名,如下所示:
Table tbl_Users
userID | userName
---------+------------
1 | Thomas
2 | Jack
3 | James
4 | Jones
Table tbl_Projects
:
projectID | projectName | projectUsers
------------+---------------+-------------
5850 | New Project | 1,3
5895 |Another Project| 1,2,4
我需要从 tbl_Projects
输出 5895 的 projectUsers
以及来自 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'
我在 SQL 服务器中有两个 table 用户和项目。我必须从另一个 table 中获取逗号分隔列的用户名,如下所示:
Table tbl_Users
userID | userName
---------+------------
1 | Thomas
2 | Jack
3 | James
4 | Jones
Table tbl_Projects
:
projectID | projectName | projectUsers
------------+---------------+-------------
5850 | New Project | 1,3
5895 |Another Project| 1,2,4
我需要从 tbl_Projects
输出 5895 的 projectUsers
以及来自 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'