Probleme mit Datenbankabfrage
Amidala
- datenbank
Hi,
ich habe eine Tabelle producs_to_categories mit den spalten products_id und categories_id.
Diese Tabelle ordnet verschiedene Produkte verschiedenen Kategorien zu nun.
Nun möchte ich mir gerne alle Kategorien anzeigen lassen, in der die Produkte (112, 134, 145) gemeinsam liegen. Ob in der Kategorie noch andere Produkte liegen ist egal, wichtig ist nur, das die gewünschten in der Kategorie mit drinnen sind.
Wie kann man sowas abfragen?
Amidala
SELECT DISTINCT categories_id outer_c_id FROM products_to_categories WHERE (SELECT COUNT(*) FROM products_to_categories WHERE categories_id = outer_c_id AND (products_id = 112 OR products_id = 134 OR products_id = 145)) = 3
nur eine möglichkeit ;)
alternativ:
SELECT a.categories_id FROM products_to_categories a, products_to_categories b, products_to_categories c WHERE a.products_id = 112 AND b.products_id = 134 AND c.products_id = 145 AND a.categories_id = b.categories_id AND b.categories_id = c.categories_id
such dir eins aus (: