如何加入表格并按最大日期选择 [重复]
Posted
技术标签:
【中文标题】如何加入表格并按最大日期选择 [重复]【英文标题】:How to join tables and select by max date [duplicate] 【发布时间】:2021-01-02 13:52:09 【问题描述】:我有这个表,一个有产品,另一个有产品的价格,但它按日期变化,所以我想要一个有产品和最后价格的选择。
我做了这个选择,但它返回了所有产品和所有价格 我只想插入最后价格的所有产品
SELECT tbl_product.*, tbl_product_price.price FROM tbl_product JOIN tbl_product_price ON tbl_product.id = tbl_product_price.FK_id_product
tbl_product
id, product
1 bread
2 soda
3 milk
tbl_product_price
FK_id_product, price, last_date_change
1 0.11 2020-09-15 17:04:41
1 0.12 2020-09-16 09:13:53
1 0.13 2020-09-17 12:20:25
2 0.65 2020-09-15 20:00:07
2 0.69 2020-09-16 11:33:40
3 0.91 2020-09-15 02:54:32
3 1.00 2020-09-16 13:33:22
3 0.95 2020-09-17 15:41:11
我的加急查询结果
id, product, price
1 bread 0.13
2 soda 0.69
3 milk 0.95
我希望我解释得很好 谢谢
【问题讨论】:
【参考方案1】:相关子查询可能会派上用场:
select
p.*,
(
select pp.price
from tbl_product_price pp
where pp.fk_id_product = p.id
order by pp.last_date_change desc limit 1
) as price
from tbl_product p
对于此查询的性能,请考虑在tbl_product_price(fk_id_product, last_date_change desc, price)
上建立索引。
【讨论】:
以上是关于如何加入表格并按最大日期选择 [重复]的主要内容,如果未能解决你的问题,请参考以下文章