Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在sql server中连接并生成一组文本?_Sql_Sql Server_Database_Sql Server 2008_Tsql - Fatal编程技术网

如何在sql server中连接并生成一组文本?

如何在sql server中连接并生成一组文本?,sql,sql-server,database,sql-server-2008,tsql,Sql,Sql Server,Database,Sql Server 2008,Tsql,可能重复: 我有一张桌子。我想要连接的结果集 请帮我写一个关于这个问题的查询?试试这个: select col1 + ' ' + col2 from bla.bla.bla 来,试试这个 SELECT a.dept_id, NewTable.NameValues FROM ( SELECT DISTINCT dept_ID FROM tableA ) a LEFT JOIN

可能重复:

我有一张桌子。我想要连接的结果集

请帮我写一个关于这个问题的查询?

试试这个:

select col1 + ' ' + col2 from bla.bla.bla
来,试试这个

SELECT  a.dept_id, 
        NewTable.NameValues
FROM    (
          SELECT DISTINCT dept_ID
          FROM tableA
        ) a 
        LEFT JOIN
        (
          SELECT  dept_id,
                STUFF((
                  SELECT  ', ' + [Name] 
                  FROM    tableA
                  WHERE   ( dept_id = Results.dept_id )
                  FOR XML PATH('')), 1, 1, '') AS NameValues
          FROM    tableA Results
          GROUP BY dept_id
        ) NewTable
        on a.dept_id = NewTable.dept_id
GO
这是另一个版本

SELECT  a.dept_id, 
        SUBSTRING(d.nameList,1, LEN(d.nameList) - 1) ConcatenateNames
FROM 
        (
            SELECT DISTINCT dept_id
            FROM   tableA
        ) a
        CROSS APPLY
        (
            SELECT name + ', ' 
            FROM tableA AS B 
            WHERE A.dept_id = B.dept_id 
            FOR XML PATH('')
        ) D (nameList)
GO

被连接的值位于不同的行中。请注意,在第一个示例中只需要内部选择(即用于左连接的表)