用DataGrid的时候碰到SQL的问题。请教各位大虾。
数据库中有这样一张数据表。 
 id            f_id            name 
 1               0                     zd 
 2               1                     zd001 
 3               1                     zd002 
 4               0                     li 
 5               4                     li001 
 6               4                     li002 
 (其中id是主键,f_id是父节点的主键,name是名称。) 
 如何上述表中用复合嵌套的SQL语句检索出下面这张表:   
 id            父名字    自己的名字 
 1               __                                    zd 
 2               zd                                    zd001 
 3               zd                                    zd002 
 4               __                                    li 
 5               li                                    li001 
 6               li                                    li002   
 劳驾各位大虾费神了,小弟在此万分感谢。 
------解决方案--------------------上面寫錯了 
 應該是: 
 select a.id,b.name,a.name from tablename as a left join tablename as b on a.f_id=b.id
------解决方案--------------------???什么问题   
 declare @t table(id int,fid varchar(20),name varchar(30)) 
 insert into @t select  '1 ', '0 ', 'zd ' 
 union all select  '2 ', '1 ', 'zd001 ' 
 union all select  '3 ', '1 ', 'zd002 ' 
 union all select  '4 ', '0 ', 'li ' 
 union all select  '5 ', '4 ', 'li001 ' 
 union all select  '6 ', '4 ', 'li002 '   
 select a.id,isnull(b.name, '_ ')  '父名字 ',a.name  '自己的名字 ' from @t as a left join @t as b on a.fid=b.id     
 (6 行受影响) 
 id          父名字                            自己的名字 
 ----------- ------------------------------ ------------------------------ 
 1           _                              zd 
 2           zd                             zd001 
 3           zd                             zd002 
 4           _                              li 
 5           li                             li001 
 6           li                             li002   
 (6 行受影响)