日期:2014-05-18  浏览次数:20620 次

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   乡镇代