我正在尝试为订单建立产品选择列表,因此在大订单系统中,供应商可以轻松地准备他们的订单。
具有三个常规表(订单,order_products,order_options)。
这是我的查询和结果
SELECT op.order_id , op.name, op.product_id, op.order_product_id, op.quantity,
GROUP_CONCAT(oo.product_option_id SEPARATOR ',') as option_ids, GROUP_CONCAT(oo.product_option_value_id SEPARATOR ',') as value_ids
FROM `o2oeco_order_product` AS op LEFT JOIN `o2oeco_order_option` AS oo ON oo.order_product_id = op.order_product_id
WHERE op.order_id IN (380,381)
GROUP BY op.product_id,oo.order_product_id
ORDER BY `order_product_id` DESC
orderid name product_id order_product_id quantity option_ids value_ids
381 sample pr 207 540 6 NULL NULL
381 sample pr 219 539 1 308 228
381 sample p 219 538 2 308 227
381 079c1477 221 537 2 367,368,338 340,341,298
381 079c1477 221 536 3 367,368,338 339,342,283
380 e7181331 212 535 3 NULL NULL
380 Sample p 198 534 1 NULL NULL
380 079c1477 221 533 1 367,368,338 339,342,283
380 079c1477 221 532 2 367,368,338 340,342,298
380 079c1477 221 531 1 338,367,368 283,340,341
380 079c1477 221 530 1 367,368,338 340,341,324
380 079c1477 221 529 1 367,368,338 340,341,298
现在,我想基于product_id和product_option合并/组合或分组(不确定)结果,以便可以将具有相同选项值的相同产品合并在一起以轻松选择相同的物理产品
我需要合并以上结果(应该合并第四行和第十二行),第四行的数量应为3(2 + 1),实际上我要合并具有相同选项值的相同产品的数量。
orderid name product_id order_product_id quantity option_ids value_ids
381 sample pr 207 540 6 NULL NULL
381 sample pr 219 539 1 308 228
381 sample p 219 538 2 308 227
380,381 079c1477 221 537 3 367,368,338 340,341,298
380,381 079c1477 221 536 4 367,368,338 339,342,283
380 e7181331 212 535 3 NULL NULL
380 Sample p 198 534 1 NULL NULL
380 079c1477 221 532 2 367,368,338 340,342,298
380 079c1477 221 531 1 338,367,368 283,340,341
380 079c1477 221 530 1 367,368,338 340,341,324
答案 0 :(得分:0)
我不了解您对查询结果的看法。但是,如果您想获得这样的查询结果:
380,381
GROUP_CONCAT( orderid SEPARATOR ',' ) AS group_order_id,