Hallo Rene123,
bei deinem Datenmodell wäre die Lösung dafür eine rekursive Common Table Expression.
MySQL ist da etwas langsam in der Umsetzung, diese Funktion gibt es in anderen DB seit Jahren und in MySQL seit April '17 (Version 8.0.1). Welche MYSQL Version verwendest Du?
Ohne rekursive CTE geht es nicht in einer Query, da musst Du die Subkategorien von Hand einsammeln. Je nach Umfang deines Kategorienbaumes könnte es in dem Fall am billigsten sein, die Cat-Tabelle komplett einzulesen und die Subkategorien ohne weitere SQL Abfrage mit PHP zusammen zu suchen. Die Liste der gefundenen Kategorie-IDs klemmst Du dann in einen IN Ausdruck.
Nested Sets sind eine gute Alternative, aber das muss man meines Wissens von Hand bauen.
Rolf
--
sumpsi - posui - clusi
sumpsi - posui - clusi