DISTINCT
entfernt doppelte ganze Zeilen .
Verwenden Sie GROUP BY p.product_id
um eine 1-Zeile pro Produkt-ID anzuzeigen.
Hinweis:Wenn Sie nach product_id gruppieren, wenn Sie mehrere Produktbeschreibungen, mehrere Kategorien oder mehrere Kategoriebeschreibungen haben, gibt die Abfrage für jede eine zufällige Zeile zurück. Verwenden Sie den MIN()
oder MAX()
Funktionen, um einzelne IDs abzurufen, oder verwenden Sie den GROUP_CONCAT()
Funktion zum Abrufen der gesamten Beschreibung.
Beispiel
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