Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 从SELECT语句生成字符串_Sql_Sql Server 2008_Sql Server 2008 R2 - Fatal编程技术网

Sql 从SELECT语句生成字符串

Sql 从SELECT语句生成字符串,sql,sql-server-2008,sql-server-2008-r2,Sql,Sql Server 2008,Sql Server 2008 R2,可能重复: 我需要一个选择的例子,其中输出是一个“,”分隔的字符串 e、 g.选择(…某物…)名称作为名称表的输出 给我 output ----------------------------- 'Ann', 'Tom', 'Wilson', ..... 在SQL server 2008 R2中,您将如何做到这一点 谢谢大家! 假设你有这样一个模式 CREATE TABLE Table1 ([GROUP_ID] int, [PERSON_NAME] varchar(6)); INS

可能重复:

我需要一个选择的例子,其中输出是一个“,”分隔的字符串

e、 g.
选择(…某物…)名称作为名称表的输出

给我

output
-----------------------------
'Ann', 'Tom', 'Wilson', .....
在SQL server 2008 R2中,您将如何做到这一点


谢谢大家!

假设你有这样一个模式

CREATE TABLE Table1
    ([GROUP_ID] int, [PERSON_NAME] varchar(6));

INSERT INTO Table1
    ([GROUP_ID], [PERSON_NAME])
VALUES
    (1001, 'ALEX'),
    (1002, 'MATHEW'),
    (1001, 'GEORGE'),
    (1002, 'THOMAS'),
    (1001, 'JAMES');
创建一个类似这样的查询以生成逗号分隔的值

SELECT
     GROUP_ID,
     STUFF(
         (SELECT ', ' + PERSON_NAME
          FROM Table1
          WHERE [GROUP_ID] = a.GROUP_ID
          FOR XML PATH (''))
          , 1, 1, '')  AS NamesList
FROM Table1 AS a
GROUP BY GROUP_ID

    • 假设你有这样一个模式

      CREATE TABLE Table1
          ([GROUP_ID] int, [PERSON_NAME] varchar(6));
      
      INSERT INTO Table1
          ([GROUP_ID], [PERSON_NAME])
      VALUES
          (1001, 'ALEX'),
          (1002, 'MATHEW'),
          (1001, 'GEORGE'),
          (1002, 'THOMAS'),
          (1001, 'JAMES');
      
      创建一个类似这样的查询以生成逗号分隔的值

      SELECT
           GROUP_ID,
           STUFF(
               (SELECT ', ' + PERSON_NAME
                FROM Table1
                WHERE [GROUP_ID] = a.GROUP_ID
                FOR XML PATH (''))
                , 1, 1, '')  AS NamesList
      FROM Table1 AS a
      GROUP BY GROUP_ID
      

      您需要发布一些关于您试图查询的数据的想法,以及一些解决问题的实际尝试
      SELECT(…某物…
      并不是真正的尝试,您不知道
      name\u表中有哪些列
      。当然,除非您愿意接受
      选择(…某些列…
      作为答案,在这种情况下,我现在就发布它。:-)您需要发布一些关于您试图查询的数据的想法,以及一些解决问题的实际尝试
      SELECT(…某物…
      并不是真正的尝试,您不知道
      name\u表中有哪些列
      。当然,除非您愿意接受
      选择(…某些列…
      作为答案,在这种情况下,我现在就发布它。:-)又好又简单!答案被选中了!谢谢又好又简单!答案被选中了!谢谢