我想将一对多表与多个表上的单行按限制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

最佳答案

考虑对这种类型的查询进行过滤:

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
                      );

关于mysql - 如何在SQL中以一对多关系加入单行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52570117/

10-11 04:59
查看更多