f交叉表查询问题
我想把表 
 乡镇代码         村代码         地类               面积    
          20                        1         有林地            0.4 
          10                        2         非林地            0.7 
          10                           1            有林地            0.1 
          10                           1            非林地               0.4 
          30                              1         有林地               0.3 
 统计为   先按地类,在按乡镇,在分乡镇到村统计 
                乡镇代码               地类                        面积 
                                                       合计                     1.9   //按地类合计 
                                                       有林地               0.8 
                                                       非林地               1.1 
                   10                              合计                     1.2      //分镇统计/按地类 
                                                       有林地                  0.1 
                                                       非林地                  1.1                                                                  
                   20                                 合计                     0.4 
                                                          有林地                  0.4 
 以下略                                                                                  
       ...............................   .... 
             可以通过   以下实现 
 select   (case   when   地类   is   null   and   isnull(村代码, '0 ')= '0 '   then   isnull(乡镇代码, ' ')    
                      when      地类   is   null   and   isnull(村代码, '0 ') <>  '0 '   then   村代码    
                      else    ' '   end)乡镇代码,isnull(地类, '合计 ')地类,面积    
 from   (select   (case   when   乡镇代