Samen met zichzelf aan tafel , met behulp van de parent kolom om te linken naar de cat_id van de ouder.
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
- Let op:aangezien sommige elementen geen ouders hebben (
NULL), plaats ik eenLEFT OUTER JOINdus die rijen worden ook weergegeven. Als je dat niet wilt, gebruik dan eenJOINin plaats vanLEFT OUTER JOIN. - Je kunt ook de regels tonen, maar iets anders tonen (leeg of atext of ...) in plaats van de
NULLdoorCOALESCE. te gebruiken . - Je kunt het resultaat beschouwen als één (grote) nieuwe tabel, dus je kunt WHERE-clausules toevoegen zoals je gewoonlijk doet, bijvoorbeeld door te filteren op de bovenliggende naam:
WHERE c2.cat_name = 'test2'