ASP ACCESS SQL分类选择并求和

例如:表1idusername1张三2李四3王五4赵六……表2idusername1point1point21张三412张三413王五224李四3.35王五12……显示页... 例如:
表1
id username
1 张三
2 李四
3 王五
4 赵六
……

表2
id username1 point1 point2
1 张三 4 1
2 张三 4 1
3 王五 2 2
4 李四 3. 3
5 王五 1 2
……

显示页面
姓名 得分1 得分2
张三 8 2
李四 3 3
王五 3 4
……

问题如下:
我目前的SQL查询是这样写的,SQL="select 表1.username as 姓名,sum(iif(表1.username = 表2.username1 ,iif(point1='1',1,iif(point1='2',2,iif(point1='3',3,iif(point1='4',4,0)))),0)) as 得分1,iif(point2='1',1,iif(point2='2',2,iif(point2='3',3,iif(point2='4',4,0)))),0)) as 得分2 from 表1,表2 group by 表1.username"

虽然可以得到其中一个人的得分1和得分2的和值,但是这仅局限于SQL语句中IIF的判定数值,如果point1的值超出iif中判定数值,那么就计算错误,我想请教各位朋友,有没有一个好的方法在数据库中动态读取表2中point1和point2的值而不必写入大量的预判数值就可以进行和值计算呢?
我目前的SQL查询是这样写的,SQL="select 表1.username as 姓名,sum(iif(表1.username= 表2.username1,1,0)) as 记录数,sum(iif(表1.username = 表2.username1 ,iif(point1='1',1,iif(point1='2',2,iif(point1='3',3,iif(point1='4',4,0)))),0)) as 得分1,iif(point2='1',1,iif(point2='2',2,iif(point2='3',3,iif(point2='4',4,0)))),0)) as 得分2 from 表1,表2 group by 表1.username"
展开
 我来答
小萌乐乐
2013-09-05 · TA获得超过128个赞
知道小有建树答主
回答量:465
采纳率:0%
帮助的人:224万
展开全部
select username1,sum(point1),sum(point2) from aaa group by username1
这样就行了啊
追问
我首先需要比较表1的人名,获取在表2中得到的记录数,再累加每个人的point1和point2的和
代码如下:
select 表1.username as 姓名,sum(iif(表1.username= 表2.username1,1,0)) as 记录数,sum(iif(表1.username = 表2.username1 ,iif(point1='1',1……
追答
select username1,sum(point1),sum(point2) from 表1,表2 where 表1.username =表2.username1   group by username1
先运行我的sql语句
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式