100分求一个树型查询存储过程或者函数
表结构: 
 ID   varchar(36),--Guid,ID 
 DisplayName   nvarchar(50),--显示名称, 
 ParentID   varchar(36)      --Guid   上级ID   
 我是在Reporting   Services上做一个下拉选框,要查询出所有的记录,以树型的形式显示出来 
 |下拉列表诓| 
 一级 
       一级子1 
             一级子1-1 
             一级子1-2 
       一级子2 
 二级 
       二级子1 
       二级子2   
 请高手帮忙,多谢
------解决方案--------------------老大书上的示例:   
 --测试数据 
 DECLARE @t TABLE(ID char(3),PID char(3),Name nvarchar(10)) 
 INSERT @t SELECT  '001 ',NULL , '山东省 ' 
 UNION ALL SELECT  '002 ', '001 ', '烟台市 ' 
 UNION ALL SELECT  '004 ', '002 ', '招远市 ' 
 UNION ALL SELECT  '003 ', '001 ', '青岛市 ' 
 UNION ALL SELECT  '005 ',NULL , '四会市 ' 
 UNION ALL SELECT  '006 ', '005 ', '清远市 ' 
 UNION ALL SELECT  '007 ', '006 ', '小分市 '   
 --深度排序显示处理 
 --生成每个节点的编码累计(相同当单编号法的编码) 
 DECLARE @t_Level TABLE(ID char(3),Level int,Sort varchar(8000)) 
 DECLARE @Level int 
 SET @Level=0 
 INSERT @t_Level SELECT ID,@Level,ID 
 FROM @t 
 WHERE PID IS NULL 
 WHILE @@ROWCOUNT> 0 
 BEGIN 
 	SET @Level=@Level+1 
 	INSERT @t_Level SELECT a.ID,@Level,b.Sort+a.ID 
 	FROM @t a,@t_Level b 
 	WHERE a.PID=b.ID 
 		AND b.Level=@Level-1 
 END   
 --显示结果 
 SELECT SPACE(b.Level*2)+ '|-- '+a.Name 
 FROM @t a,@t_Level b 
 WHERE a.ID=b.ID 
 ORDER BY b.Sort
------解决方案--------------------在论坛里搜索关键字 "树 " 
 很多的
------解决方案--------------------学习学习