DISTINCT
verwijdert dubbele hele rijen .
Gebruik GROUP BY p.product_id
om één rij per product-ID weer te geven.
Opmerking:als u groepeert op product_id, als u meerdere productbeschrijvingen, meerdere categorieën of meerdere categoriebeschrijvingen heeft, retourneert de zoekopdracht een willekeurige rij voor elk. Gebruik de MIN()
of MAX()
functies om enkele ID's op te halen, of gebruik de GROUP_CONCAT()
functie om alle beschrijvingen op te halen.
Voorbeeld
SELECT
p.product_id AS pid,
p.model AS modelo,
SUBSTRING(p.model,1,25) AS substr_modelo,
p.image AS foto,
p.price AS preco,
GROUP_CONCAT(pd.name) AS nome,
GROUP_CONCAT(cd.name) AS category
FROM product p
LEFT JOIN product_description pd ON p.product_id = pd.product_id
LEFT JOIN product_to_category p2c ON p.product_id = p2c.product_id
LEFT JOIN category_description cd ON p2c.category_id = cd.category_id
WHERE pd.name LIKE _utf8 'laser%' collate utf8_unicode_ci
GROUP BY p.product_id
ORDER BY p.product_id DESC