i ont la structure de tableau suivant tableau "emplacement" a - id - parentLocation_id (rapport à lui-même) - NomComment utiliser imbriquée sélectionnez
nous supposons que nous avons les données suivantes:
id parentLocation_id name
1 null Egypt
2 1 Cairo
3 2 Zamalek
ici nous avons trois niveaux d'emplacements, je veux obtenir tous les niveaux (emplacements) qui ont id = 1 ou enfant de location_id.
Le résultat doit avoir tous les trois emplacements si j'ai sélectionné l'emplacement en Égypte (obtenir tous les niveaux d'héritage).
J'ai essayé le
select l.id from Location as l where l.id = 1 or l.id in (select id from Location where parentLocation_id= l.id);
suivante ici le résultat est correct, et ici je suis arrivé au deuxième niveau seulement.
Comment puis-je faire cela ??
Merci à l'avance
Pouvez-vous avoir seulement 3 niveaux, ou est-ce qu'il y a la moindre chance que vous ayez 4 ou plus? Comme continent (Afrique)? ou suberb (centre-ville)? –
Je n'ai que trois niveaux, je n'ai pas besoin de plus que ça. – Neveen