设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 582|回复: 4
打印 上一主题 下一主题

[查询] 请教一个关于合并查询的问题

[复制链接]
跳转到指定楼层
1#
发表于 2002-11-9 19:12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在表中有如下字段:
字段1      字段2
ABC123       50
ABC320      100
ABC456       75
FGH000       65
FGHY344      45
FGH450       100
现想实现结果如下:
  字段1      字段2
ABC           225
FGHY           45
FGH           165
即从原始表中查找字段1,取数字前的字母,重复的将字段2的结果相加。应如何实现!(数据库在构思当中)


[此贴子已经被作者于2002-11-9 11:11:48编辑过]

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2002-11-9 19:25:00 | 只看该作者
你最好把字母和数字拆成两个字段(统一总比分裂容易,反对“两国论”),再按字母字段分组汇总就是了。
3#
发表于 2002-11-22 03:03:00 | 只看该作者
SELECT DISTINCTROW Mid(字段1,1,3) AS aa, Sum(字段2) AS bb
FROM db
GROUP BY Mid(字段1],1,3);
4#
发表于 2002-11-23 00:34:00 | 只看该作者
youer_ma,你看错了,雨儿的纪录并不都是3+3型的
5#
发表于 2002-11-23 02:16:00 | 只看该作者

编一个自定义函数吧

编一个自定义函数,取字母部分吧:
Public Function qzm(mytext)
d = Len(mytext)
e = ""
For ii = 1 To d - 1
If Asc(Mid(mytext, ii, 1)) > 57 Or Asc(Mid(mytext, ii, 1)) < 48 Then e = Mid(mytext, 1, ii)
Next ii
qzm = e
End Function
再把查询改成:
SELECT DISTINCTROW qzm([字段1]) AS aa, Sum([字段2]) AS bb
FROM db
GROUP BY qzm([字段1]);
我试了一下,通过


[此贴子已经被作者于2002-11-22 18:15:58编辑过]

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-21 16:27 , Processed in 0.092177 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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