2016-07-11 8 views
0

Ich arbeite an einem Projekt mit bestimmten Anforderungen. Ich habe ein Problem mit SQL-Abfrage. Ich muss einzelne einzelne Zeilen für ein Produkt finden, denen bestimmte Kategorien (mehr als eine) zugeordnet sind. Es sollte nur eine Produkt-ID für ein Produkt zurückgeben. Bitte sehen Sie folgendes Bild.Problem mit MySQL-Abfrage, einzelne Zeilen finden, während es mehrere Zeilen zurückgibt

Bild Tabelle

enter image description here

Gemäß dieser Tabelle, Produkt-ID 1 und 2 sind Kategorien zugeordnet 3,4 und 6. Wir müssen SQL schaffen, die ein oder mehrere Produkte finden können, die spezifische haben Kategorien zugewiesen (wie 1 und haben 3,4,6 Kategorien Assoziation). Die Kategorie-Eltern-Beziehung kommt von einer anderen Tabelle. Es hat 4 Ebenenhierarchie. Bitte helfen Sie.

Vielen Dank im Voraus.

Antwort

0

Wenn ich das Problem richtig verstehe, ist seine viele zu viele Beziehungstabelle. Die Abfrage sollte also so aussehen:

select * from product p inner join product_category pc on p.id = pc.product_id inner join category c on pc.category_id = c.id where c.id = 3 AND c.id = 4 AND c.id = 6