MySQL Query Products有多种尺寸和价格

时间:2014-06-11 20:12:49

标签: php mysql sql magento

我有以下问题。我有2个表'产品'和'productprices'。每种产品都有多种价格,即ProductID 1,SizeID 1,Price 4.00 |产品ID 1,尺寸ID 2,价格5.50。

这是我目前的查询...

SELECT  products.*, 
        productprices.Price 
FROM  products 
INNER JOIN productprices ON products.ID = productprices.ProductID 
WHERE products.Category='" . $categoryName . "'"

但我只想为每件产品以最低价格返回一条记录。

有人可以帮忙吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

这可以通过产品价格的最低价格

自我加入productprices来完成
SELECT  p.*, 
        pp.*
FROM  products p
INNER JOIN productprices pp ON p.ID = pp.ProductID 
JOIN 
( SELECT ProductID ,MIN(price) price
 FROM productprices GROUP BY ProductID ) pp1
ON(pp.ProductID =pp1.ProductID AND pp.price = pp1.price)
WHERE p.Category='" . $categoryName . "'"

或者如果您不需要价格最低的productprices整行,您可以在当前查询中使用MIN()函数

SELECT  p.*, 
        MIN(pp.Price) price 
FROM  products p
INNER JOIN productprices pp ON p.ID = pp.ProductID 
WHERE p.Category='" . $categoryName . "'"
GROUP BY p.ID