求救,access分组查询问题!

daoyuanjiao 2013-01-20 06:50:33
我有一个表A,共有5列,例如:
ID name pingshi kaoshi
1 张三 80 3-2
2 李四 70 2-5
3 张三 90 4-6
4 李四 75 4-7
现在我想形成这样一个表,输出至asp的table:
第一行 张三 李四
第二行 700 875

其中700=80×2+90×6,875=70×5+75×7

现在第一行的名字用group by 可以出来,但是不知道怎么在select的时候计算。谢谢!
...全文
182 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2013-01-21
  • 打赏
  • 举报
回复
判断一下: 示例: select val(iif(instr(ss,'-')>0,mid(ss,instr(ss,'-')+1,len(ss)),'')) from ( SELECT distinct '3-12' as ss from aa )
daoyuanjiao 2013-01-21
  • 打赏
  • 举报
回复
引用 4 楼 wwwwb 的回复:
SELECT name,sum(val(right(kaoshi,1))* pingshi) from ttg group by name 这样得到的结果是 name Expr1001 李四 875 张三 700 还要转置一下  OR 用代码生成 SELECT sum(iif(name='张三',val(right(kaoshi,1))* pingshi ,0))……
我现在用数组转了一下!现在val(right(kaoshi,1)),有点问题!kaoshi的值有可能是5-12也就是说val(right(kaoshi,1))中的1,可能是2.不知道怎么办,我用instr,程序就死在那里
wwwwb 2013-01-21
  • 打赏
  • 举报
回复
在表中加入1个字段DD,数字型,值一样比如为1 查询4: transform max(name) SELECT dd from ttg group by dd pivot name 查询5: transform sum(val(right(kaoshi,1))* pingshi) SELECT dd from ttg group by dd pivot name SELECT * FROM 查询4 union all SELECT * FROM 查询5;
wwwwb 2013-01-21
  • 打赏
  • 举报
回复
or 在表中加入1个字段DD,数字型,值一样比如为1 transform sum(val(right(kaoshi,1))* pingshi) SELECT dd from ttg group by dd pivot name
wwwwb 2013-01-21
  • 打赏
  • 举报
回复
SELECT name,sum(val(right(kaoshi,1))* pingshi) from ttg group by name 这样得到的结果是 name Expr1001 李四 875 张三 700 还要转置一下  OR 用代码生成 SELECT sum(iif(name='张三',val(right(kaoshi,1))* pingshi ,0)) as 张三,sum(iif(name='李四',val(right(kaoshi,1))* pingshi ,0)) as 李四 from ttg 其中的张三、李四
daoyuanjiao 2013-01-21
  • 打赏
  • 举报
回复
我这个表里的人员姓名个数是不固定的,name='张三',这样的格式无法全部罗列出来!但是我这样为什么不行呢? select min(id) as sjid,name,sum(val(right(kaoshi,1)*pingshi) as sjzf from tb group by name
wwwwb 2013-01-21
  • 打赏
  • 举报
回复
select max(iif(name='张三',name,'')) as 张三,max(iif(name='李四',name,'')) as 李四 from ttg union all SELECT sum(iif(name='张三',val(right(kaoshi,1))* pingshi ,0)) as 张三,sum(iif(name='李四',val(right(kaoshi,1))* pingshi ,0)) as 李四 from ttg
rucypli 2013-01-20
  • 打赏
  • 举报
回复
select sum(case when name='张三' then pingshi*substring(kaoshi,2,1) end), sum(case when name='李四' then pingshi*substring(kaoshi,2,1) end) from tb

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧