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 JOIN
dus die rijen worden ook weergegeven. Als je dat niet wilt, gebruik dan eenJOIN
in plaats vanLEFT OUTER JOIN
. - Je kunt ook de regels tonen, maar iets anders tonen (leeg of atext of ...) in plaats van de
NULL
doorCOALESCE
. 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'