Comment s'inscrire de manière récursive dans SQL?

J'ai une table:

Série 
======== 
ID 
SeriesName 
ParentSeriesID 

Une série ne peut être une "racine" de la série, (ParentSeriesID est 0 ou null) ou il peut avoir un Parent. Une série peut aussi être à plusieurs niveaux, c'est à dire son Parent est un Parent qui a un Parent, etc.

Comment puis-je interroger la table pour obtenir une Série par son ID et TOUS les descendants de la Série ?

Pour l'instant j'ai essayé:

 SELECT child.*
 FROM Series parent JOIN Series child ON child.ParentSeriesID = parent.ID
 WHERE parent.ID = @ParentID

Mais cela retourne uniquement le premier niveau des enfants, je veux le nœud parent, et tous les "en aval" des nœuds. Je ne suis pas sûr de la façon de progrès à partir d'ici.

source d'informationauteur Neil N | 2010-08-12