Unirse a la mesa consigo misma , usando el parent columna para vincular al cat_id del padre.
SELECT c1.cat_id as childID, c1.cat_name ChildName, c2.cat_name as ParentName
from category c1
LEFT OUTER JOIN category c2
ON c1.parent = c2.cat_id
- Tenga cuidado:dado que algunos elementos no tienen padres (
NULL), puse unLEFT OUTER JOINpor lo que esas filas también se muestran. Si no quieres eso, usaJOINen lugar deLEFT OUTER JOIN. - También puede mostrar las líneas, pero mostrar algo más (vacío o un texto o ...) en lugar de
NULLusandoCOALESCE. - Puede considerar el resultado como una tabla nueva (grande), por lo que puede agregar cláusulas WHERE como lo hace normalmente, por ejemplo, filtrando el nombre principal:
WHERE c2.cat_name = 'test2'