繁体   English   中英

如何连接一列的所有条目[SQL]

[英]How to concat all the entries of one column [SQL]

正如标题所述,使用以下 SQL 查询:

SELECT "Name"
FROM "ExampleTable"

我得到以下结果:

Name
----------------
ExampleName1
ExampleName2
ExampleName3

问题:如何修改查询使所有名称都显示在一行中,以便以后可以使用数组。

我试过的: FOR XML , STUFF - 不起作用

预期结果:

Name: ExampleName1, ExampleName2, ExampleName3.

如果您使用的是 SQL Server,您可以试试这个:

Select SUBSTRING( 
( 
     SELECT ',' + Name AS 'data()'
         FROM TableName FOR XML PATH('') 
), 2 , 1000) As Names

在 Fiddle 上检查一下: http ://sqlfiddle.com/#!18/6ab0b3/6

或者可能是使用COALESCE一种简单方法,它根据传递的参数组合由逗号分隔值分隔的单行中的多行:

Declare @val Varchar(MAX); 
Select @val = COALESCE(@val + ', ' + Name, Name) 
        From TableName Select @val;

select @val; // this will show all your data

在小提琴上检查这个: http ://sqlfiddle.com/#! 18/36112/2

此外,如果上述屏幕截图出现问题,我将提供屏幕截图供您轻松理解步骤。

请注意:在上面的过程中,我既没有使用任何 PRIMARY KEY 也没有设置它的自动增量,但在接下来的解释中,我使用了 PRIMARY KEY,因为我已经在 SSMS (Sql Server Management Studio) 中编写了所有内容

这是带有 PRIMARY KEY 和自动增量集的示例tblStudent表的架构,如下所示:

在此处输入图片说明

接下来在其中输入一些虚拟值

在此处输入图片说明

最后编写我们的查询。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM