0

私はこのクエリを持っています:

SELECT DISTINCT b.name AS NAME, p.photo AS photo, MIN(p.price) AS minprice, COUNT(p.id) AS productcount
FROM blocks b, typesproducts tp, products p
WHERE (tp.typeid = b.typeid OR tp.typeid IN (SELECT id FROM types WHERE parent = b.typeid)) 
AND tp.productid = p.id AND p.active = 1 AND b.active = 1
AND p.id IN (SELECT id FROM products WHERE active = 1 ORDER BY price))

それは完全にうまく機能します。

唯一の問題は、写真に製品テーブルからのランダムな写真が含まれていることです。

私が取得したいのは、最も安い製品に一致する写真です。つまり、MIN(p.price) 列がフェッチされる行に一致する製品です。

クエリを更新して正しい写真を取得する方法を知っている人はいますか?

どうもありがとう。

4

1 に答える 1

0

私は間違っているかもしれませんが、あなたはこのようなものを探しているようです

SELECT *
  FROM products 
 WHERE price = (SELECT MIN(price) FROM products WHERE active = 1)

SQLフィドル

于 2013-05-01T03:31:56.540 に答える