以逗号分隔显示结果使用连接

时间:2017-09-14 10:23:15

标签: sql sql-server database sql-server-2014

我的数据库中有两个表

  1. project - project_id(Nvarchar),client_id(Nvarchar)
  2. client - id(int),name(Nvarchar)
  3. Dependency- project.project_id = client .id

    我想创建显示client_name(逗号分隔)的随机列,该列存储在Client表中,其中来自项目的client_id取决于Client表的id。

    这是一个表格和预期结果 - Expected result

1 个答案:

答案 0 :(得分:3)

Try this Code

SELECT a.project_id, a.client_id, 
                        (
                            select ', '+co.name
                            from Client as co
                            where ','+a.client_id+',' like '%,'+CONVERT(NVARCHAR,co.id)+',%'
                            for xml path(''), type
                        ).value('substring(text()[1], 2)', 'varchar(max)') as client_name 
                    from project as a