【问题标题】:Create comma separated query with two tables join [closed]使用两个表连接创建逗号分隔查询 [关闭]
【发布时间】:2016-05-27 07:20:04
【问题描述】:

我有两种表格,一种是给员工的,另一种是任务分配的。

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

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

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

我想让员工的姓名以逗号分隔,所有任务用逗号分隔,他们的 ID 也用逗号分隔。

所以请帮助我如何加入员工表和任务分配表以获得 每个任务的网格中的上述类型的详细信息?

【问题讨论】:

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


    【解决方案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
    

    【讨论】:

    • 很好,但你能给我建议,让这个值用逗号分隔。
    • 这部分将为您提供员工行的逗号分隔值。
    • 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'')
    • 哦,太棒了,我刚刚根据我拥有的数据更新了一些查询,并成功获得了它,非常感谢 Sandesh,你让我的一天很棒:)
    • 非常感谢。很高兴我能帮上忙。 :)
    猜你喜欢
    • 2013-05-31
    • 2013-10-06
    • 2020-03-05
    • 2014-05-30
    • 1970-01-01
    • 2021-09-12
    相关资源
    最近更新 更多