我希望使用 LEFT JOIN 查询从具有一对多关系的两个表中获取一些结果,但根据“孩子”的数量限制结果集。我有两个表结构如下:
customers
id name ...
1 "bob" ...
2 "jill" ...
orders
id customer_id ...
100 1 ...
101 2 ...
102 1 ...
(表中的其余数据与此查询无关。)
我想做的是获取所有客户 ID 及其订单 ID,按客户排序,但仅限于下了多个订单的客户。在此示例中,结果如下所示:
cust_id order_id
1 100
1 102
我从一个基本的 LEFT JOIN 开始,将订单 ID 与他们的客户配对,但不知道如何排除所有未订购至少两次的客户。
SELECT
`customers`.`id` AS `cust_id`,
`orders`.`id` AS `order_id`
FROM
`customers`
LEFT JOIN `orders` ON
`customers`.`id` = `orders`.`customer_id`
ORDER BY
`cust_id`
谢谢大家。