当前位置: 代码迷 >> Sql Server >> f交叉表查询有关问题
  详细解决方案

f交叉表查询有关问题

热度:4   发布时间:2016-04-27 18:49:54.0
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   乡镇代码   is   null   and   村代码   is   null   then   0   else   2   end)id,
  相关解决方案