ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: vinson01

[求助] 菜鸟求助Access的汇总问题

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-9-17 01:53 | 显示全部楼层
谢谢大侠,总算是看懂了一点{:soso_e100:},但是还有些问题不明白{:soso_e106:}:

1. 是不是只能每次计算一列,然后再把这几列计算得到的数据合到一张表?



2.现在的是升序(1=1+2+3; 5=5+6+7),降序的怎么计算(1208=1208+1207+1206;  1203=1203+1202+1201)

3. 我照着改了个5批的汇总{:soso_e130:},运算时提示:join操作语法错误!{:soso_e118:}请帮着指点一下。{:soso_e132:}还有要计算50、60批也这样么?

SELECT 批次,IIF(num1 IS NULL,0,num1)+IIF(num2 IS NULL,0,num2)+IIF(num3 IS NULL,0,num3)+IIF(num4 IS NULL,0,num4)+IIF(num5 IS NULL,0,num5) AS led灯5批
FROM
(
  SELECT A.批次,A.led灯 AS num1,B.led灯 AS num2,C.led灯 AS num3,D.led灯 AS num4,e.led灯 AS num5
  FROM
((表2 AS A
  LEFT JOIN 表2 AS B
  ON A.批次 = B.批次 - 1)
  LEFT JOIN 表2 AS C
  ON A.批次 = C.批次 - 2)
  LEFT JOIN 表2 AS D
  ON A.批次 = D.批次 - 3)
  LEFT JOIN 表2 AS E
  ON A.批次 = E.批次 - 4)
) AS T

4. 怎么计算%呀?

再次麻烦了,真不好意思!谢谢!{:soso_e100:}

TA的精华主题

TA的得分主题

发表于 2012-9-17 08:27 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
你的结果是1=1+2+3+4+5,问题出在from下的括号不对称,缺少左括号

1.其实你本身就把多表合并到一张表了,因为你列与列之间的关联并不是那么得紧密,并不像学号,姓名,身份证号,地址它们一样是一一对应的

2.降序的原理是一样的,就是把-换成+就成了

3.那个不是几批的语句,是N批的语句,就是1=1+2+3,2=2+3+4,...一直下去直到最后一批

[code=sql]SELECT 批次,IIF(num1 IS NULL,0,num1)+IIF(num2 IS NULL,0,num2)+IIF(num3 IS NULL,0,num3) AS led灯,
            IIF(num4 IS NULL,0,num4)+IIF(num5 IS NULL,0,num5)+IIF(num6 IS NULL,0,num6) AS 第二列
FROM
(
  SELECT A.批次,A.led灯 AS num1,B.led灯 AS num2,C.led灯 AS num3,
                A.第二列 AS num4,B.第二列 AS num5,C.第二列 AS num6
  FROM
((表2 AS A
  LEFT JOIN 表2 AS B
  ON A.批次 = B.批次 - 1)
  LEFT JOIN 表2 AS C
  ON A.批次 = C.批次 - 2)
) AS T[/code]

如果真的很多的话,可以使用动态的语句


TA的精华主题

TA的得分主题

发表于 2012-9-17 08:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
[code=sql]SELECT A.id,A.num AS num1,B.num AS num2,C.num AS num3
  FROM
((TEST AS A
  LEFT JOIN TEST AS B
  ON A.id = B.id - 1)
  LEFT JOIN TEST AS C
  ON A.id = C.id - 2)[/code]
1.gif

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-9-19 10:27 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
{:soso_e100:}不好意思,出差刚回来。谢谢大侠的指导,先消化一下{:soso_e140:},可能还要有问题请教。{:soso_e127:}
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-8 11:54 , Processed in 0.022128 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表