Gå med sig själv i bordet , med parent
kolumn för att länka till förälderns 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
- Var försiktig:eftersom vissa element inte har några föräldrar (
NULL
), lägger jag enLEFT OUTER JOIN
så dessa rader visas också. Om du inte vill det, använd enJOIN
istället förLEFT OUTER JOIN
. - Du kan också visa raderna, men visa något annat (tomt eller atext eller ...) istället för
NULL
genom att användaCOALESCE
. - Du kan betrakta resultatet som en (stor) ny tabell, så du kan lägga till WHERE-satser som du brukar göra, till exempel genom att filtrera på föräldranamnet:
WHERE c2.cat_name = 'test2'