Je travaille sur une instruction SQL que je n'arrive pas à comprendre. J'ai besoin de classer les résultats par ordre alphabétique, mais j'ai besoin que les «enfants» viennent juste après leur «parent» dans l'ordre. Voici un exemple simple de la table et des données avec lesquelles je travaille. Toutes les colonnes non pertinentes ont été supprimées. J'utilise SQL Server 2005. Y at-il un moyen facile de faire cela?Sql Commande Hiarchy
tblCats
=======
idCat | fldCatName | idParent
--------------------------------------
1 | Some Category | null
2 | A Category | null
3 | Top Category | null
4 | A Sub Cat | 1
5 | Sub Cat1 | 1
6 | Another Cat | 2
7 | Last Cat | 3
8 | Sub Sub Cat | 5
Results of Sql Statement:
A Category
Another Cat
Some Category
A Sub Cat1
Sub Cat 1
Sub Sub Cat
Top Category
Last Cat
(Les espaces préfixés dans le résultat sont juste pour ajouter dans la compréhension des résultats, je ne veux pas les espaces préfixés dans mon résultat sql. Le résultat n'a besoin que d'être dans cet ordre.)
C'est quelque chose que j'ai voulu faire pendant un certain temps, en particulier en utilisant la récursion CTE, mais je ne l'ai jamais réussi, je suis intéressé de voir s'il ya une réponse. –
Je pense que vous avez 'A Category' et 'Some Category' inversé dans les résultats – Ray
ouais, je l'ai fait en fait. J'ai attrapé ça et l'ai réparé. – stephenbayer