各カテゴリから1つの画像を選択するSQLクエリを作成しようとしています。
両方の画像はカテゴリであり、データベースの差分テーブルに保存されます。
誰かがこれを行う方法を知っていますか?
SELECT it.img_name FROM category_table ct INNER JOIN image_table it ON ct.id=it.cat_id
GROUP BY ct.id
これにより、カテゴリごとに 1 つの img が取得されます。しかし、それはどちらかを選択しません。おそらくランダムな選択です...
SELECT it.img_name FROM category_table ct
INNER JOIN image_table it ON ct.id=it.cat_id AND it.is_cat_default=1
GROUP BY ct.id
このコードは、列 (is_cat_default) を使用して画像を選択する方法を示しています。これを使用して、画像が画像テーブルでデフォルトかどうかを定義します。最後のステートメントを削除するGROUP BY
と、カテゴリごとに複数の画像が選択されますis_cat_default=1
。