Setzt sich mit sich selbst an den Tisch , mit dem parent Spalte, um auf die cat_id des Elternteils zu verlinken.
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
- Achtung:Da einige Elemente keine Eltern haben (
NULL), füge ich einenLEFT OUTER JOINein also werden diese Zeilen auch angezeigt. Wenn Sie das nicht möchten, verwenden Sie einenJOINstattLEFT OUTER JOIN. - Sie können die Zeilen auch anzeigen, aber statt
NULLetwas anderes anzeigen (leer oder einen Text oder ...). durch Verwendung vonCOALESCE. - Sie können das Ergebnis als eine (große) neue Tabelle betrachten, sodass Sie wie gewohnt WHERE-Klauseln hinzufügen können, zum Beispiel nach dem übergeordneten Namen filtern:
WHERE c2.cat_name = 'test2'