Office中国论坛/Access中国论坛

标题: 如何用条件合并表的行 [打印本页]

作者: yongestboy    时间: 2008-12-11 16:58
标题: 如何用条件合并表的行
有下表:
县名乡镇小班号优势树种工程造林类型面积胸径蓄积出材量竹重
彭州市丽春塔子山618马尾松00.0868161.71.20
彭州市丽春塔子山618马尾松00181.61.10
彭州市丽春塔子山618马尾松00141.30.90
彭州市丽春塔子山618马尾松00120.50.20
彭州市丽春塔子山618马尾松00100.40.10
彭州市丽春塔子山618马尾松0080.20.10
彭州市丽春塔子山618马尾松0060.10.10

根据树种的胸径的范围对行进行合并,其蓄积\出材量\竹重等自动相加,结果如下图:
县名乡镇小班号优势树种工程造林类型面积胸径组蓄积出材量竹重
彭州市丽春塔子山618马尾松00大(>15)3.32.30
彭州市丽春塔子山618马尾松00中(10-15)2.21.20
彭州市丽春塔子山618马尾松00小(0-10)0.30.20

如何用代码实现上述变化?
作者: Henry D. Sy    时间: 2008-12-11 18:01
1。先求出大中小,可以用iif函数
2。在进行sql统计
作者: yongestboy    时间: 2008-12-11 18:08
请给个具体的程序,急用,谢谢!
作者: Henry D. Sy    时间: 2008-12-11 19:15
例子你来传
作者: yongestboy    时间: 2008-12-12 08:56
表格已上传.
还有就是如何把"小班明细表"中的数据,用查询的方式按"可研统计表"的格式得到统计数据呢?"可研统计表"也在压缩文件内.
期待版主的答复,谢谢!
作者: hi-wzj    时间: 2008-12-12 09:24
您问的是excel的问题还是access的问题?
上传的是excel的表,这里是access的栏目。
作者: yongestboy    时间: 2008-12-12 09:52
我给的是个格式,可以导入access,在excel里要实现很难,想找access的解决方法.
作者: yongestboy    时间: 2008-12-12 09:55
已导入access
作者: Henry D. Sy    时间: 2008-12-12 10:04
  1. SELECT 小班明细表初.林木类型, 小班明细表初.树种, IIf([径级]<10,"小",IIf([径级]<15,"中","大")) AS 胸径组, Sum(小班明细表初.面积) AS 面积之总计, Sum(小班明细表初.蓄积) AS 蓄积之总计, Sum(小班明细表初.出材量) AS 出材量之总计, Sum(小班明细表初.竹重) AS 竹重之总计
  2. FROM 小班明细表初
  3. GROUP BY 小班明细表初.林木类型, 小班明细表初.树种, IIf([径级]<10,"小",IIf([径级]<15,"中","大"));
复制代码

作者: yongestboy    时间: 2008-12-12 10:32
感谢Henry D. Sy版主,按胸径大小合并的问题解决了,谢谢!
还有就是我的附件里有个"可研统计表",能否用小班表里的信息通过查询得到"可研统计表"格式的统计呢,我在网上查了,有如下的select语句:
select   县名,乡镇,村, ,sum(case   when   地类= '有林地'   then   面积   else   0   end)   as   有林地面积,sum(case   when   地类= '竹林 '   then   面积   else   0   end)   from   小班明细表   group   by   县名,乡镇,村
但是我运行时提示case语句有问题,希望版主能给个正确的方法,主要是能查询出"可研统计表"里格式的统计数据,以便以后能以此类推,做出其他格式的统计,谢谢!
作者: Henry D. Sy    时间: 2008-12-12 10:43
select case 语句是用在vba里的。
作者: yongestboy    时间: 2008-12-12 10:49
那我怎么能在access中实现我需要得到的结果呢?
作者: Henry D. Sy    时间: 2008-12-12 11:14
看不懂你要得到什么
作者: yongestboy    时间: 2008-12-12 11:32
我把表重新整理了,已上传,
整个表按县、乡镇、村、建设用途、性质、地权几个来分组统计,可研表中有相关说明,
谢谢版主!
作者: yongestboy    时间: 2008-12-12 11:39
补充一下,就是根据"小班统计"数据库里的数据,通过查询的方式得到"可研统计表"里那种格式的统计结果(统计结果按县、乡镇、村、建设用途、性质、地权几个来分组统计),我只要把查询出的统计数据复制到excel里就就得到"可研统计表"了
再次感谢版主的热心.
作者: Henry D. Sy    时间: 2008-12-12 11:59
选择相应的字段来做分组统计
作者: yongestboy    时间: 2008-12-12 13:54
版主说的分组统计,我编写如下代码:

SELECT 县名, 乡镇, 村, 建设用途, 使用性质, 地权, sum(面积) AS 有林地面积
FROM 小班明细表初
WHERE 地类="有林地"
GROUP BY 县名, 乡镇, 村, 建设用途, 使用性质, 地权;

得到如下结果:
县名乡镇建设用途使用性质地权有林地面积
某县丽春塔子山砂岩及粘土矿区永久集体15.8858
某县丽春土溪砂岩及粘土矿区永久集体0.7042


但只能把有林地面积统计出来,在同一个表中,如何增加其他统计数据呢?
如下表
乡镇建设用途性质地权有林地中的的防护林面积有林地中的用材林面积有林地中的经济林面积疏林地
          
          
          
          

作者: Henry D. Sy    时间: 2008-12-12 14:14
再建新查询
作者: yongestboy    时间: 2008-12-12 14:36
能不能在同一个查询里完成呢?
如果再建新查询,那么各个查询里前面的分组字段就不统一,我无法把它们合并到一张表里啊




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3