Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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 T-SQL将行连接成字符串_Sql Server_Tsql - Fatal编程技术网

Sql server T-SQL将行连接成字符串

Sql server T-SQL将行连接成字符串,sql-server,tsql,Sql Server,Tsql,我试图在select语句中使用子查询来获取字段值,但似乎无法找到正确的语法。我想提取一个公司名称列表,作为该查询的一个字段,我想选择该公司的所有员工 你知道我做错了什么吗?我得到的错误是 当子查询未引入EXISTS时,只能在选择列表中指定一个表达式 T-SQL代码: SELECT company_name, company_type, (SELECT employee_firstname, employee_lastname FROM

我试图在select语句中使用子查询来获取字段值,但似乎无法找到正确的语法。我想提取一个公司名称列表,作为该查询的一个字段,我想选择该公司的所有员工

你知道我做错了什么吗?我得到的错误是

当子查询未引入EXISTS时,只能在选择列表中指定一个表达式

T-SQL代码:

SELECT 
   company_name, 
   company_type, 
   (SELECT 
        employee_firstname, employee_lastname 
    FROM 
        tblemployees 
    WHERE 
        tblemployees.company_id = tblCompanies.company_id) as employees 
FROM 
    tblCompanies
期望输出:

Company Name |  Company Type  | Employees
----------------------------------------------------------
Test Co      |  Construction  | Bob Smith, Jack Smith, etc

您需要使用
FOR XML PATH
或类似的解决方案来连接名字和姓氏。有关各种方法的更多详细信息


谢谢您提供的信息,可能是重复的。这非常有效,非常有帮助。再次感谢。
SELECT DISTINCT
   c1.company_name, 
   c1.company_type,
   STUFF((SELECT
              ', ' + c2.employee_firstname + ' ' + c2.employee_lastname
          FROM
              tblCompanies c2
          WHERE
              c1.company_id = c2.company_id
          ORDER BY
              employee_lastname, employee_firstname
          FOR XML PATH(''), TYPE).value('.', 'varchar(max)'), 1, 1, '')
FROM tblCompanies c1