Comme vous l'avez dit, vous pouvez utiliser un UNION
sur le résultat de votre requête. Dans le reste de la réponse, je vais vous montrer une solution utilisant CTE, qui est une syntaxe SQL standard disponible dans de nombreux systèmes, mais malheureusement pas dans MySQL. Cependant, pour convertir cette requête pour MySQL, vous pouvez consulter la réponse suivante :Comment utiliser la clause "WITH" dans MySQL ?
WITH query AS (
SELECT t1.categoryid AS lev1, t2.categoryid as lev2, t3.categoryid as lev3, t4.categoryid as lev4
FROM category AS t1
LEFT JOIN category AS t2 ON t2.parent = t1.categoryid
LEFT JOIN category AS t3 ON t3.parent = t2.categoryid
LEFT JOIN category AS t4 ON t4.parent = t3.categoryid
WHERE t1.categoryid = 4149418031)
SELECT lev1 AS category_value FROM query
UNION
SELECT lev2 AS category_value FROM query
UNION
SELECT lev3 AS category_value FROM query
UNION
SELECT lev4 AS category_value FROM query;