ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] left join on里想对某个字段求和,请帮忙看看该怎么写

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-5-5 01:35 | 显示全部楼层 |阅读模式
本帖最后由 淡淡的邪 于 2019-5-5 13:36 编辑

access数据库:  现在实在vba里查询的

查询语句:Sql = "select [会员积分记录].会员编号, 会员姓名, 性别, 充值余额, 积分 from [会员资料] left join [会员积分记录] on ([会员资料].会员编号 = [会员积分记录].会员编号) where [会员资料].会员编号 = '" & TextBox1 & "'"

【目标:】想对其中的“积分”字段求和。(目前这样只能查到最新的一条“积分”的记录,把记录集写入excel表格能看到所有符合条件的数据)
直接sum(积分)会发生错误(您的查询不包含作为聚合函数一部分的特定表达式“会员编号” ),对记录集里的.fields("积分")直接sum也是一样的错误。请各位大哥帮忙看看该怎么做
记录集里的“积分”字段下有很多条数据
表的结构是这样的

[会员积分记录]   会员编号     积分                    [会员资料]    会员编号    会员姓名     性别    充值余额
                         100001       20                                           100001       大雄          男        1000      
                         100001       10
                         100001       5
                         ..........        ..

谢谢各位高手!   当然表里还有其他字段  我只想取其中这几个字段    然后求和“积分”字段 (积分记录是每次交易产生一条记录)现在的查询结果是这样的
会员编号会员姓名性别充值余额积分
100001大雄
951
10
100001大雄
951
4.5
100001大雄
951
4.5
100001大雄
951
30



TA的精华主题

TA的得分主题

 楼主| 发表于 2019-5-5 02:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
请问是用group by吗?具体该用在哪呢?怎么写,谢谢!

TA的精华主题

TA的得分主题

发表于 2019-5-5 07:52 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
表达式“会员编号”
用first(会员编号),group要求聚合函数

TA的精华主题

TA的得分主题

发表于 2019-5-5 11:57 | 显示全部楼层
不清楚你的表结构,按你描述,要么先join,然后join语句作为子查询,然后在聚合

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-5-5 13:22 | 显示全部楼层
语虚何以言知 发表于 2019-5-5 11:57
不清楚你的表结构,按你描述,要么先join,然后join语句作为子查询,然后在聚合

[会员积分记录] 会员编号, 积分    积分每次交易一次有一条记录
[会员资料]  会员编号,会员姓名, 性别, 充值余额     这里只有一条会员资料的记录
想两表根据“会员编号”联查,其中求和“积分”字段。

TA的精华主题

TA的得分主题

发表于 2019-5-5 19:46 | 显示全部楼层
淡淡的邪 发表于 2019-5-5 13:22
[会员积分记录] 会员编号, 积分    积分每次交易一次有一条记录
[会员资料]  会员编号,会员姓名, 性别,  ...

没有附件,纯手敲如下,只能你自行验证:
  1. select b.*,总积分 from
  2. (select 会员编号,sum(积分) as 总积分 from [会员积分记录] group by 会员编号)a
  3. left join
  4. [会员资料]b
  5. on a.会员编号=b.会员编号
  6. where .......
复制代码












TA的精华主题

TA的得分主题

 楼主| 发表于 2019-5-6 01:45 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
语虚何以言知 发表于 2019-5-5 19:46
没有附件,纯手敲如下,只能你自行验证:

非常谢谢!我会去验证一下的,就为了您给的回复!
虽然我已经用笨办法解决了,不过还是非常感谢帮助!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-5-6 01:48 | 显示全部楼层
语虚何以言知 发表于 2019-5-5 19:46
没有附件,纯手敲如下,只能你自行验证:

非常感谢您的回复,我会去验证一下的。
虽然我已经用笨办法解决了,但还是要感谢您的帮助。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-23 18:44 , Processed in 0.040702 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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