在sql select中为一列返回多个值

Posted

技术标签:

【中文标题】在sql select中为一列返回多个值【英文标题】:Return mutiple value for on column in sql select 【发布时间】:2013-09-22 19:22:03 【问题描述】:

例如,这是我的表(已复制)。

id  customer        product 
1   Tizag           Pen 
4   Gerald Garner   19" LCD Screen  
5   Tizag           19" LCD Screen  
6   Gerald Garner   clock

我想选择整个表格。结果必须是这样的:

customer        product 
Tizag           Pen,19" LCD Screen
Gerald Garner   19" LCD Screen,clock

我该怎么做?

【问题讨论】:

【参考方案1】:
Select customer ,
Group_Concat(product SEPARATOR ',') as Product
from TableName group by customer    

SQL Fiddle Demo

【讨论】:

【参考方案2】:

不需要使用“,”作为分隔符,默认自带

 select customer, group_concat(product) as product
 from tableName
 group by customer

【讨论】:

以上是关于在sql select中为一列返回多个值的主要内容,如果未能解决你的问题,请参考以下文章

[讲解]sql except和intersect运算符(比拟两个或多个select语句的结果并前去非重复值)

sql 存储过程返回多个值

SQL Server 为一列创建多个非聚集索引与在一个索引中创建多个列

Asp.net(C#) 获取 执行sql server 语句/存储过程后的 多个返回值?

将多行中的多个文本字段分组为一列[重复]

SQL中select与set的区别-转载