MYSQL-Anfrage aus beiden Tabellen mit FIND_IN_SET
Ich habe zwei Tabellen (MySQL):
-
table_products: //cid (text) - Komma-getrennte Liste Kategorien //id (int11)
id cid 1 1,2,3 2 5,21,8 3 2,4,15
-
table_categories
id name parent 1 Cat1 0 2 Cat2 0 3 Cat3 0 4 Cat4 0
Dies ist mein Wunsch:
SELECT `id`, `name`, `parent`
FROM `table_categories`
ORDER BY `parent` ASC, `id` ASC;
Wie kann ich die Anfrage vor, und auch die Anzahl der Produkte in jeder Kategorie (von table_products).
Möglicherweise verwenden (FIND_IN_SET).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn jede Kategorie ist in
table_categories
haben, dann könnten Sie diese:Wenn table_categories.id ist in den Produkten.cid dann FIND_IN_SET gibt einen ungleich null-Wert, und die Verknüpfung erfolgreich sein wird.
categories
C LEFT JOINproducts
P AUF FIND_IN_SET(C. id, P. cid) GROUP BY C. name ORDER BY C. Bestellung ASC, C. parent ASC, C. id ASC, aber immer wenn diese Rückkehr 1 auch für leere Kategorien...