【发布时间】:2016-02-19 14:18:35
【问题描述】:
我已经广泛搜索了这个答案,但没有遇到任何其他符合我的 SQL 需求的问题/解决方案。因此,通过下面的两个表,我想找到每个客户最近的 order_id,然后与另一个表 JOIN 以获取订单详细信息(订单详细信息可能包括多个订单项)
客户表
customer order_id order_date
125 485695 1/10/2015
125 485696 2/10/2015
125 485697 3/10/2015
68 485700 6/10/2015
68 485701 12/21/2015
689 501200 8/10/2015
689 501201 8/11/2015
689 501202 8/12/2015
订单表
order_id item qty
485695 apple 1
485695 banana 2
485697 pumpkin 1
485697 apple 1
485700 pear 1
485701 pear 1
485701 plum 2
501200 banana 1
501201 orange 2
501202 apple 3
501202 pear 2
501202 orange 1
我正在寻找的结果将产生以下结果:
customer order_id order_date item qty
125 485697 3/10/2015 pumpkin 1
125 485697 3/10/2015 apple 1
68 485701 6/10/2015 pear 1
68 485701 6/10/2015 plum 2
689 501202 8/12/2015 apple 3
689 501202 8/12/2015 pear 2
689 501202 8/12/2015 orange 1
我尝试过类似的方法,但似乎没有成功:
SELECT c.customer, c.order_id, c.order_date, i.item, i.qty
FROM customers c
INNER JOIN items i ON c.order_id = i.order_id
WHERE c.order_id IN
(
SELECT max(order_id)
FROM customers
GROUP BY order_id
)
ORDER BY c.order_date DESC
任何帮助将不胜感激。谢谢!
【问题讨论】: