PHP経由で実行する次のクエリがあります。
select
{$tableProducts}.*,
{$tableImages}.*
from {$tableProducts}
left join {$tableImages}
on {$tableImages}.product_id = {$tableProducts}.product_id
group by {$tableProducts}.product_id;
各製品 (製品テーブルから) には、複数の画像 (画像テーブル内) を含めることができます。シンプルな while ステートメントを使用して結果をループします。
while($row = $results->fetch_object()) {
echo $row->product_name; // Product table
echo $row->image_src; // Image table
}
問題:各商品の最初の画像しか印刷されていませんが、すべて表示したいです。「order by」部分を削除するとすべての画像が印刷されますが、各画像に対して product_name が 1 回印刷されます (したがって、1 つの製品に 3 つの画像がある場合、product_name も 3 回印刷されます)。
これをどのように解決するのが最善ですか?