2011-08-31 84 views
1

我有一个MySQL数据库中的两个表。产品和产品项目。产品包含字段product_id,product_name,image。产品项目包含字段item_id,product_id,size_id,doq_id,价格。MySQL选择语句与最小值

一种产品有许多产品项目。

如何编写一个声明,它返回每个产品的最低价格?

我有以下几点:

SELECT p.product_name, p.image, p.product_id, MIN(pi.price) AS price 
FROM (`product_items` as pi, `product` as p) 
WHERE `pi`.`product_id` = 'p.product_id' 
GROUP BY `p`.`product_name` 
ORDER BY RAND() 
LIMIT 3 

但这返回一个空的数据集。

回答

1

试试这个:

SELECT pr.id, pr.name, pr.image, MIN(pi.price) min_price 
FROM products pr INNER JOIN product_items pi 
ON pr.product_id = pi.product_id 
GROUP BY pr.id 
+0

完美,感谢马可。 –