【发布时间】:2011-08-05 01:21:30
【问题描述】:
使用 SQL MIN() 函数时,我想选择与 MIN 行匹配的任何其他字段。以下查询返回正确的 MIN(sellPrice),但与 product_price 表中的正确行不匹配。我怎样才能做到这一点?
SELECT p.*, MIN(pp.sellPrice) AS sellPrice, pp.* FROM `product` AS p
LEFT JOIN `product_price_group` AS ppg ON p.`id` = ppg.`productId`
LEFT JOIN `product_price` AS pp ON ppg.`id` = pp.`priceGroupId`
WHERE p.`active` = 1 AND p.id = 1
【问题讨论】:
-
match the correct row in the product_price table.是什么意思?你想加入最低价格还是什么?我实际上有点惊讶这个 SQL 甚至可以工作,因为你没有GROUP BY子句.... -
是的,我确实在尝试加入最低价格,我想要属于最低售价的其他字段。