如何在SQL中选择列值作为逗号分隔值字符串

时间:2015-02-07 15:24:41

标签: mysql sql

我在sql数据库中有两个表产品和销售。

productId   name 
1           a
2           b
3           c

Sale 
ID  productId   sale
1      1        5
2      2        10
3      1        20
4      1        50

现在我想使用两个表我需要使用sql:

以这种格式输出
productId   name    sale
1            a       5,20,50
2            b       10

任何人都可以告诉我如何使用sql查询将我的销售列值作为逗号分隔值。

2 个答案:

答案 0 :(得分:4)

您可以在产品和销售之间进行联接,如下所示:

SELECT P.productId, P.name, GROUP_CONCAT(sale) AS 'sale'
FROM product AS P INNER JOIN sale AS S
ON S.productID=P.productID
GROUP BY P.productId;

请参阅小提琴here

答案 1 :(得分:0)

如果您使用MySQL,可以使用GROUP_CONCAT:

SELECT P.productId, P.name, S.GROUP_CONCAT(sale)
FROM product AS P
LEFT JOIN sale AS S
ON S.productID=P.productID
GROUP BY P.productId;

http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html#function_group-concat