Juntar a tabela consigo mesma , usando o
parent coluna para vincular ao cat_id do pai. 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
- Cuidado:como alguns elementos não têm pais (
NULL), coloquei umLEFT OUTER JOINpara que essas linhas também sejam exibidas. Se você não quiser isso, use umJOINem vez deLEFT OUTER JOIN. - Você também pode mostrar as linhas, mas exibir outra coisa (vazio ou um texto ou ...) em vez do
NULLusandoCOALESCE. - Você pode considerar o resultado como uma (grande) nova tabela, para que possa adicionar cláusulas WHERE como costuma fazer, por exemplo, filtrando pelo nome pai:
WHERE c2.cat_name = 'test2'