以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  SQL语句报错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=46290)

--  作者:00061801
--  发布时间:2014/2/20 13:54:00
--  SQL语句报错

当我用SQL语句建立SQL查询表时提示出错,不知道是不是语法有问题,麻烦大家帮我看看:

 

SELECT     林场, 林班,  SUM(CASE WHEN 地类 IN (1) THEN 面积 ELSE 0 END) AS 疏林地面积

FROM         {小班属性表}
GROUP BY 林场, 林班
ORDER BY 林场, 林班

错误提示:IErrorInfo.GetDescription 因 E_FAIL(0x80004005) 而失败。

我想算的是当地类=1的时候面积之和作为疏林地面积,然后按林场林班分组排序

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


--  作者:Bin
--  发布时间:2014/2/20 14:14:00
--  
ACCESS 没有CASE WHEN的哦.
--  作者:Bin
--  发布时间:2014/2/20 14:18:00
--  
SELECT 林场, 林班,(select sum(面积) from {小班属性表}b where 地类=1 AND a.林场=b.林场 and a.林班=b.林班) FROM {小班属性表} a GROUP BY 林场, 林班
--  作者:00061801
--  发布时间:2014/2/20 14:46:00
--  
非常感谢,结果通过了,我还想问一下,我如果在这个基础上在增加一个条件,比如说优势树种在1~30之间的满足上述条件的面积之和又应该怎么修改呢?