目前,我在从MYSQL数据库中选择数据时遇到了问题。
主要的主题是库存管理,所以我有客户、产品和库存移动(将产品从我的仓库中的一个地方放到另一个地方)。我需要的数据被拆分到三个不同的表中,它们的构建方式如下(简化):
tableCustomer
customerID | loginEmail | ...
123 | test@test.com | ...
124 | hello@world.com | ...
tableProduct
productID | customerID | createDate | ...
789 | 123 | 2019-12-12 | ...
790 | 123 | 2019-12-13 | ...
791 | 124 | 2019-12-14 | ...
tableMovement
movementID | productID | createDate | ...
548 | 790 | 2020-01-25 | ...
549 | 789 | 2020-01-27 | ...
550 | 791 | 2020-01-28 | ...我要找的是每个客户的第N次(如第25次)运动的createDate。结果应该是这样的
customerID | movement.createDate
123 | 2020-01-25
124 | 2020-01-28因此,它将是一个列表,其中列出了每个customerID一次,以及该customerID的第25个运动的createDate。我找不到任何方法来选择结果,因为有不同的表。有谁有主意吗?
发布于 2020-10-09 23:54:23
一种选择是使用相关子查询和行限制子句:
select c.customerid,
(
select m.createdate
from movement m
inner join product p on p.productid = m.productid
where m.customerid = c.customerid
order by m.createdate
limit 24, 1
)
from customer chttps://stackoverflow.com/questions/64283340
复制相似问题