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 JOIN
para que essas linhas também sejam exibidas. Se você não quiser isso, use umJOIN
em vez deLEFT OUTER JOIN
. - Você também pode mostrar as linhas, mas exibir outra coisa (vazio ou um texto ou ...) em vez do
NULL
usandoCOALESCE
. - 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'