【发布时间】:2016-01-17 22:25:02
【问题描述】:
我有下面的两个表,一个产品可以有多个价格条目,我希望输出每个商店的最新产品信息的产品名称。我正在使用以下但没有得到预期的结果,可能有数百个产品有数百个价格记录,每个都有数百个商店我这里只有两个作为示例。
产品
product_id | name | cat_id
---------------------------------
1 | product 1 | 124567
2 | product 2 | 834392
3 | product 3 | 234723
价格
product_id | price | store | added
--------------------------------------------------
1 | 1.00 | 1 | 2016-01-01 00:00:00
1 | 1.50 | 2 | 2016-01-01 00:00:00
2 | 3.75 | 1 | 2016-01-01 00:00:00
2 | 4.00 | 2 | 2016-01-01 00:10:00
2 | 3.99 | 2 | 2016-01-01 00:00:00
3 | 34.56 | 1 | 2016-01-01 00:00:00
预期输出
name | price | store | added
--------------------------------------------------
product 1 | 1.00 | 1 | 2016-01-01 00:00:00
product 1 | 1.50 | 2 | 2016-01-01 00:00:00
product 2 | 3.75 | 1 | 2016-01-01 00:00:00
product 2 | 4.00 | 2 | 2016-01-01 00:10:00
proudct 3 | 34.56 | 1 | 2016-01-01 00:00:00
SQL
SELECT `prod`.`name`
, `prc`.`price`
, `prc`.`store`
, `prc`.`added`
FROM `product` `prod`
LEFT JOIN `price` `prc` ON `prod`.`product_id` = `prc`.`product_id`
ORDER BY `prod`.`cat_id` DESC
, `prc`.`added` DESC
, `prc`.`price` DESC;
【问题讨论】: