我一直在网上搜索,找不到解决这个问题的办法。我从查询
中得到这个表ordernumber | articleID | customergroupID | 1111 | 50 | 1 |
---|---|---|
2222 | 61 | 2 |
2222 | 62 | 2 |
3333 | 72 | 3 |
在SQL中将使用group_concat
和group_by
SELECT
so.`ordernumber`,
GROUP_CONCAT(sod.`articleID`) as articleID,
scc.`id` AS "customergroupID"
FROM `s_order` so
INNER JOIN `s_order_details` sod ON so.`id` = sod.`orderID`
INNER JOIN `s_order_attributes` soa ON so.`id` = soa.`orderID`
INNER JOIN `s_user` su ON so.userID = su.`id`
INNER JOIN `s_core_customergroups` scc ON su.`customergroup` = scc.`groupkey`
WHERE
soa.`twp_insert_article` = 0
AND so.ordernumber != 0
AND so.ordertime > DATE_SUB(NOW(), INTERVAL 21 day)
GROUP BY so.`ordernumber`
这将给你一个逗号分隔的articleID
的结果。在php中,你可以使用爆炸()函数转换成一个数组。