必要なデータを取得するために結合する必要がある 2 つのテーブルがありますが、目的の結果を得るクエリはすべて非常に高価です。
製品テーブル (id、名前) と在庫テーブル (id、pid、サプライヤー、在庫、価格) があります。stock.pid は products.id の外部キーですが、各製品は複数のサプライヤーを持つことができるため、在庫テーブルに複数のエントリがあります。
私が必要としているのは、各製品の最安価格と現在の在庫を、製品レコードのすべてのデータと組み合わせて、価格の昇順に並べたものです。
私が試したのは(およびいくつかのバリエーション)です:
SELECT DISTINCT(pid), MIN(price), stock, p.*
FROM stock s LEFT (INNER) JOIN
product
ON pid = s.id
GROUP BY pid
ORDER BY price (LIMIT 100)