[英]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.