我想将一对多表与多表中的单行按限制1连接,并按创建日期排序
tbl_cart :
id fullname
1 myname1
2 myname2
3 myname3
tbl_cart_status:
id cart_id status created_at
1 1 33 2018-09-20
2 1 34 2018-09-23
3 2 34 2018-09-21
4 1 100 2018-09-25
5 2 35 2018-09-29
我如何像这样用sql获取输出: 我想按created_at列的顺序获取购物车的最新状态
myname cart_id status created_at
myname1 1 100 2018-09-25
myname2 2 35 2018-09-29
答案 0 :(得分:1)
请考虑对此类查询进行过滤:
select c.name, cs.*
from tbl_cart c join
tbl_cart_status cs
on c.id = cs.cart_id
where cs.created_at = (select max(cs2.created_at)
from tbl_cart_status cs2
where cs2.cart_id = cs.cart_id
);