我有两张桌子:
1. customer
2. customer_order
客户表包含客户数据(duh),customer_order包含所有订单。
我可以customer.id=customer_order.id_customer
加入他们。
一切都很好,但现在我想要一个查询,其中我有所有客户ID,然后是这些客户订购的订单(customer_order.id)(订单日期)
像这样:customer 100 order 4, order 5, order 9
customer 101 order 7, order 8, order 15
我有这个,但是没有给我结果,它将所有客户ID放在不同的行上:
SELECT c.id, c.firstname, co.id
FROM customer c
JOIN customer_order co
ON c.id=co.id_customer
;
答案 0 :(得分:5)
您可以使用group_concat函数
select c.id, c.firstname, GROUP_CONCAT(co.id SEPARATOR ',')
from custom c
join custom_order co
group by c.id
这将返回类似
的内容customer 100 | 4,5,9
customer 101 | 7,8,15
答案 1 :(得分:0)
你试过了吗?
SELECT c.id, c.firstname, co.id
FROM customer c
INNER JOIN customer_order co
ON c.id=co.id_customer
ORDER BY c.id;
它是LEFT或INNER,根据您的使用情况,您会得到不同的结果,我认为为了您的目的,LEFT是您想要使用的。然后,当您检索数据时,可能必须将其放入:
array["custid"][] = co.id