如何在sql中连接到一对多关系中的单行?

qf9go6mv  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(431)

我想加入一对多表,单行对多个表的限制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\ u获得购物车的最新状态

myname   cart_id   status    created_at
myname1     1         100     2018-09-25
myname2     2         35      2018-09-29
erhoui1w

erhoui1w1#

考虑对此类查询进行筛选:

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

相关问题