Ich habe die 2 üblichen Tabellen, Produkte und Kategorien, und wegen der Viele-zu-Viele-Beziehung habe ich eine Schlüsselzuordnungstabelle erstellt, die beide verbindet. Diese assoziative Tabelle ist zum Beispiel wie folgt aus:Abfrage von Produkten, Kategorien über die assoziative Tabelle
id product_id category_id
1 2 4
2 2 6
3 3 4
etc
, wo sie die Fremdschlüssel an die jeweiligen product_id
und category_id
Primärschlüssel sind.
So jetzt versuche ich eine Abfrage zu Testergebnissen zu schreiben. Normalerweise möchte ich, dass einige Produkte einer bestimmten Kategorie angezeigt werden. Aber ich habe mehrere Abfragen ausprobiert, aber es sagt mir, dass ich einen Fehler in der MySQL-Syntax habe.
select products.name
from products
join producto-categoria
on producto-categoria.product_id = products.id
join categorias
on producto-categoria.category_id = categorias.id
where categorias.id = 3
limit 100
Ich habe tatsächlich zunächst die Struktur in phpMyAdmin und lud dann die entsprechenden CSV-Dateien und dann schließlich verknüpfen sie durch ihre FK in der assoziativen Tabelle erstellten Indizes mit (auch Schlüsselzuordnungstabelle genannt), und ich habe nicht irgendein Fehler beim Erstellen der FK-Links. InnoDB als Engine.
Ihre Tabellen umbenennen, so dass sie in ihnen haben keine Bindestriche. –