我有一个 orderLine
表,其中订单附加到产品。所以我的 orderLine 表可以如下所示:
orderID 作为外键耦合到 orderLineId。
orderID productID
1 2
2 1
2 2
我的order
表是这样的:
orderLineId userID
1 1
1 1
2 1
但是如果我执行 GROUP_CONCAT
查询:
SELECT orderLine.orderId,
GROUP_CONCAT(orderLine.productId)
FROM orders
INNER JOIN orderLine ON orders.orderLineId = orderLine.orderId
WHERE orders.orderId = 1
我得到结果:
orderId, GROUP_CONCAT(orderLine.productId)
1 1,2,2
但我想要:
orderId, GROUP_CONCAT(orderLine.productId)
1 1,2
2 2
最佳答案
您需要GROUP BY orderLine.orderId
才能为每个orderId获取一行:
SELECT orderLine.orderId,
GROUP_CONCAT(orderLine.productId)
FROM orders
INNER JOIN orderLine ON orders.orderLineId = orderLine.orderId
WHERE orders.orderId = 1
GROUP BY orderLine.orderId
关于mysql - 返回多行的 group_concat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32994220/