Disons que vous avez le tableau suivant:données Hiérarchie Obtenir des tables d'auto-référencement
items(item_id, item_parent)
... et il est une table auto-référencement - item_parent
fait référence à item_id
.
Quelle requête SQL utiliseriez-vous pour SÉLECTIONNER tous les éléments de la table avec leur profondeur où la profondeur d'un élément est la somme de tous les parents et grands parents de cet élément.
Si ce qui suit est le contenu de la table:
item_id item_parent
----------- -----------
1 0
2 0
3 2
4 2
5 3
... la requête doit récupérer l'ensemble des objets suivants:
{ "item_id": 1, "profondeur": 0 }
{ "item_id": 2, "profondeur": 0}
{ "item_id": 3, "profondeur": 1}
{ "item_id": 4, "profondeur": 1}
{ » item_id ": 5," depth ": 2}
P.S. Je suis à la recherche d'une approche supportée par MySQL.
Rechercher "RCE Recursive". – RBarryYoung
Quelle base de données et quelle version? Les requêtes récursives sont spécifiques au fournisseur, si elles sont prises en charge. – RedFilter
@RBarryYoung: Cela suppose qu'il utilise MS SQL Server. –