У меня возникла проблема, когда я получаю дублированные значения из того, что, как я думаю, должен получить.получение двойного значения от группы concact
вот мой SQL:
SELECT DISTINCT p.products_image,
pd.products_name,
p.products_id,
p.products_model,
p.manufacturers_id,
m.manufacturers_name,
p.products_price,
p.products_sort_order,
p.products_tax_class_id,
pd.products_viewed,
group_concat(p2i.icons_id separator ",") AS icon_ids,
group_concat(pi.icon_class separator ",") AS icon_class,
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 specials s ON p.products_id = s.products_id
LEFT JOIN manufacturers m ON p.manufacturers_id = m.manufacturers_id
JOIN products_description pd ON p.products_id = pd.products_id
JOIN products_to_categories p2c ON p.products_id = p2c.products_id
INNER JOIN products_specifications ps7 ON p.products_id = ps7.products_id
LEFT JOIN products_to_icon p2i ON p.products_id = p2i.products_id
LEFT JOIN products_icons pi ON p2i.icons_id = pi.icons_id
WHERE p.products_status = '1'
AND pd.language_id = '1'
AND ps7.specification IN ('Polycotton' ,
'Reflective')
AND ps7.specifications_id = '7'
AND ps7.language_id = '1'
AND p2c.categories_id = '21'
GROUP BY p.products_id
ORDER BY p.products_sort_order
Столбец, получает двойные значения является icon_ids из группы concact. Эти швы случаются только в том случае, если тромбот и рефлексивные - это как IN ps7.спецификация.
Если это только один или другой, то он отлично работает.
В таблице products_to_icon содержится 2 столбца, products_id и icons_id.
Если у продукта есть 2 значка, есть 2 строки, поэтому я уверен, что именно этот факт вызывает дубликаты идентификаторов.
Когда я запускаю этот столбец icon_ids для продукта с 2-мя иконками «4,4,6,6», например, когда то, что мне нужно «4,6»