标题:求VB数据库跨表分类计算后合并语句,急!
只看楼主
chenjun302
Rank: 1
等 级:新手上路
帖 子:6
专家分:6
注 册:2013-7-3
结帖率:50%
已结贴  问题点数:10 回复次数:4 
求VB数据库跨表分类计算后合并语句,急!
表a
班级     人数     
一班     20
一班     20
二班     13
二班     27

表b
班级      签到
一班       10
一班       28
二班       17  
二班       10
二班       12   

想得到结果:
        总人数    实到人数     出勤率
一班      40          38          95%
二班      40          39          97.5%


请教各位大侠,该语句如何写???
SQL="select sum(a.人数) as 总人数,sum(b.签到) as 实到人数 from a.班级,b.班级 where a.班级=b.班级 group by a.班级,b.班级 "

错误,应该如何修改,谢谢

[ 本帖最后由 chenjun302 于 2013-7-18 10:03 编辑 ]
搜索更多相关主题的帖子: 如何 where 数据库 
2013-07-18 10:01
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
from 后面是 表的名字。这里写成字段名。

没有 数据库运行环境,无法帮你测试。
再小型的都没。

授人于鱼,不如授人于渔
早已停用QQ了
2013-07-18 12:44
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:324
专家分:435
注 册:2012-1-29
得分:0 
晚上回家看看给你个参考

学习--------------学习-------------------学习--------------------!!
2013-07-18 17:17
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
得分:8 
select 班级,sum(人数) as 人数合计,(select sum(签到) from 表2 where 表1.班级=表2.班级) as 签到合计,(str(100*(select sum(签到) from 表2 where 表1.班级=表2.班级)/sum(人数))+'%') as 签到率 from 表1 group by 班级

在access查询中运行通过,见下图:
2013-07-18 19:00
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
得分:2 
你自己的语句有两句错误,一处错误为两个汉字符的逗号修改为英文字符的逗号,第二处错误为from后应跟的是表名,而不是字段名,因此修改如下可正常执行,但结果不对,你的语句类似内连接语句。
SQL="select sum(a.人数) as 总人数,sum(b.签到) as 实到人数 from a,b where a.班级=b.班级 group by a.班级,b.班级 "
该语句运行后的结果如下(顺序为二班、一班):
120   78
80    76
为什么是这个结果,有待分析,用inner join、left join也是这个结果。

2013-07-19 09:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-417536-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.854528 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved