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