Съединете масата със себе си , като използвате parent
колона за връзка към cat_id на родителя.
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
- Внимавайте:тъй като някои елементи нямат родители (
NULL
), поставихLEFT OUTER JOIN
така че тези редове също се показват. Ако не искате това, използвайтеJOIN
вместоLEFT OUTER JOIN
. - Можете също да покажете редовете, но да покажете нещо друго (празен или atext или ...) вместо
NULL
като използватеCOALESCE
. - Можете да разглеждате резултата като една (голяма) нова таблица, така че можете да добавяте клаузи WHERE, както обикновено правите, например филтриране по името на родител:
WHERE c2.cat_name = 'test2'