以逗号分隔的单个结果返回多个值

时间:2016-12-01 16:59:27

标签: sql sql-server tsql

我有一份员工清单(EmployeeID,EmployeeName等) 我有一个项目列表(ProjectID,ProjectName等) 这是一个多对多的关系 - 一个项目可以让很多员工参与其中,一个员工可以从事许多项目。

这很好。目前我已经完成了

SELECT Employee.EmployeeID, ProjectEmployee.ProjectID
FROM Employee LEFT JOIN
ProjectEmployee ON Employee.EmployeeID = ProjectEmployee.EmployeeID LEFT JOIN
Projects ON ProjectEmployee.ProjectID = Projects.ProjectID

这将返回所有员工,无论他们是否被分配到项目。如果将它们分配给多个项目,则其ID将显示在第1列中,两次。 e.g。

EmployeeID  ProjectID
1           NULL
2           1
3           1
4           1
4           2
5           1
6           2
7           2

我不知道是否可能,但我希望在第一栏列出所有员工一次。如果将它们分配给多个项目,请在第2列的单个字段中列出所有项目 e.g。

EmployeeID  ProjectID
1           NULL
2           1
3           1
4           1,2
5           1
6           2
7           2

提前感谢任何建议!

0 个答案:

没有答案