製品テーブルから一意の製品を正常に取得して表示するクエリがあります。ミックスにアイコンテーブルを追加しようとしています。一部の製品には複数のアイコンを含めることができます。問題は、結合のみを使用しようとしていることです。たとえば、製品に2つのアイコンがある場合、その1つの製品に対して2つの行が選択されます。
これが私のSQLです:
SELECT p.products_image,
pd.products_name,
p.products_id,
p.products_model,
p.manufacturers_id,
p.products_price,
p2i.icons_id,
p.products_tax_class_id,
IF(s.status, s.specials_new_products_price, NULL) AS
specials_new_products_price,
IF(s.status, s.specials_new_products_price, p.products_price) AS
final_price
FROM products p
LEFT JOIN manufacturers m
ON p.manufacturers_id = m.manufacturers_id
LEFT JOIN specials s
ON p.products_id = s.products_id
LEFT JOIN products_to_categories p2c
ON p.products_id = p2c.products_id
LEFT JOIN products_description pd
ON p.products_id = pd.products_id
LEFT JOIN products_to_icon p2i
ON p.products_id = p2i.products_id
WHERE p.products_status = '1'
AND pd.language_id = '1'
AND p2c.categories_id = '36'