我有一个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
答案 0 :(得分:1)
您需要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