使用两个表连接创建逗号分隔查询

时间:2016-05-27 07:20:05

标签: sql-server join sql-server-2012

我有两个表单,一个是Employee,另一个是任务分配。

我正在定期存储员工的数据,比如插入数据名字,姓氏等等.... 但在任务分配中,我选择了多名员工并逐一存储员工详细信息。

现在我想在网格中显示任务详细信息,如

task1 Emp1Name,Emp2Name,Emp3Name ...编辑删除

我想得到员工的名字,所有任务明智的逗号分开明智和他们的ID以及逗号分隔。

那么请帮助我如何加入员工表和任务分配表来获取 每个任务明智的网格中的细节类型?

1 个答案:

答案 0 :(得分:1)

如果需要,请更改表格和列名称。

SELECT
 T.TasKName,
 TCSV.EmployeeName
FROM Task AS T
CROSS APPLY
(
SELECT 
Stuff(
        (
            SELECT DISTINCT N', ' + EmployeeName 
            FROM Employee AS E
            WHERE T.EmployeeID=E.EmployeeID 
FOR XML PATH(''),TYPE
        )
    .value('text()[1]','nvarchar(max)'),1,2,N''
    ) AS EmployeeName
) AS TCSV