有一张科目表有如下,但是没有明显的字段标明那一个是末级科目,请问如何查找出末级科目
   有一张科目表有如下,但是没有明显的字段标明那一个是末级科目,请问如何查找出末级科目 
 代码                                    项目名称                   
 20310		项目1                                  
 2031001		项目1.1                         
 2031002		项目1.2                         
 203100201	项目1.2.1                   
 203100202	项目1.2.2                   
 2031003		项目1.3                            
 2031004		项目1.4                     
 找出来应该是这样   
 代码                                    项目名称               是否末级 
 20310		项目1                              否    
 2031001		项目1.1                        是 
 2031002		项目1.2                        否 
 203100201	项目1.2.1                  是 
 203100202	项目1.2.2                  是 
 2031003		项目1.3                        是 
 2031004		项目1.4                        是 
------解决方案----------------------try:   
 select 代码,项目名称, 
 是否末级=case when (select count(*) from 科目表 where 代码 like rtrim(A.代码)+ '% ')> 1 
                then  '否 ' 
               else  '是 ' 
               end 
 from 科目表 A
------解决方案--------------------有點問題,修改下   
 Select Distinct A.*, (Case When B.代码 Is Null Then  '是 ' Else  '否 ' End) As 是否末级 
 From 科目表 A 
 Left Join 科目表 B 
 On B.代码 Like A.代码 +  '% ' And A.代码 != B.代码
------解决方案----------------------建立测试环境 
 create table #tb(代码 varchar(10),项目名称 varchar(10)) 
 insert #tb(代码,项目名称) 
 select  '20310 ', '项目1 ' union all 
 select  '2031001 ', '项目1.1 ' union all 
 select  '2031002 ', '项目1.2 ' union all 
 select  '203100201 ', '项目1.2.1 ' union all 
 select  '203100202 ', '项目1.2.2 ' union all 
 select  '2031003 ', '项目1.3 ' union all 
 select  '2031004 ', '项目1.4 ' 
 go 
 --执行测试语句 
 select t.代码,t.项目名称,isnull(max(case when t2.代码 is null then  '是 ' end), '否 ') 
 from #tb t 
 left join #tb t2 on charindex(t.代码,t2.代码) >  0 and t.代码  <>  t2.代码 
 group by  t.代码,t.项目名称 
 go 
 --删除测试环境 
 drop table #tb 
 go 
 /*--测试结果 
 代码         项目名称             
 ---------- ---------- ----  
 20310      项目1        否 
 2031001    项目1.1      是 
 2031002    项目1.2      否 
 203100201  项目1.2.1    是 
 203100202  项目1.2.2    是 
 2031003    项目1.3      是 
 2031004    项目1.4      是   
 (7 row(s) affected)   
 */ 
------解决方案----------------------創建測試環境 
 Create Table 科目表 
 (代码 Varchar(50), 
  项目名称 Nvarchar(50)) 
 Insert 科目表 Select  '20310 ',		N '项目1 '            
 Union All Select  '2031001 ',	N '项目1.1 '         
 Union All Select  '2031002 ',	N '项目1.2 '         
 Union All Select  '203100201 ',	N '项目1.2.1 '