我在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查询将我的销售列值作为逗号分隔值。
答案 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