Zuerst sollten Sie alle Kategorien auswählen, in denen Produkte vorhanden sind. Wählen Sie in den nächsten Schritten Mutterkategorien aus.
WITH CTE AS
(
SELECT tbl_categories.*
FROM
tbl_categories
JOIN tbl_productInCategory on tbl_productInCategory.CID = tbl_categories.CID
UNION ALL
SELECT tbl_categories.*
FROM tbl_categories
JOIN CTE on tbl_categories.CID = CTE.motherCategory
)
SELECT DISTINCT * FROM CTE