Effectivement en SQL ce n'est pas vraiment possible (numéroter en SQL est presque impossible) mais je crois (j'espère ) que ce n'était pas la question.
Par contre avec un peu de code ça doit être assez facile.
D'abord il faut sortir les données de 'type_document' en les triant par parent (je suppose qu'il y a une colonne pour) plus un autre critère, genre :
SELECT * FROM type_document ORDER BY id_parent, libelle_type
Après dans le code on parcourt la liste en incrémentant un compteur que l'on remet à 0 à chaque fois que le parent change :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
compteur := 0
parent := "aucun"
pour type dans resultat_sql
faire
si type.parent != parent
faire
parent := type.parent
compteur := 0
fin si
type.ordre := compteur
compteur := compteur + 1
fin pour |
Mais c'est pas récursif pour un sous (quoi, j'aime la récursivité !)
Partager