access中如何查询a字段中的某1个值对应的所有b字段中包含特定的多个值的记录

2024-12-04 11:37:10
推荐回答(2个)
回答(1):

用日期和用户名分组汇总金额字宴察段即可求出来


SQL语句如下:


select 日期,用户名,sum(资金) as 资金总额 from 你的表名 group by 日期,用户名 order by 日期,用户名


将上述SQL语句套上正确告碰的表名,复制黏贴到SQL查询视图,点击工具栏运行命令(带叹号图标的)即可求出每天每个用户的资金总额。


*****关于楼主问题补充,更好解决,单用用户名分组汇总即可*****

select 用户名,sum(资金) as 资金总额 from 你的表名 group by 日期 order by 用袜祥谈户名


SQL查询视图

查询设计视图

运行结果

回答(2):

select * from 表X
where 姓名 in
(select 姓名
from (select distinct 姓名 from 表X where instr(购买物,'苹果')>0
union all select distinct 姓名 from 表X where instr(购买物,'香蕉')>0) as T
group by 姓名
having count(*)=2
)
与T对应的子查询是一个union all,union all与union的区别是union all不管是否重复都并起来,
如{1,2} union all {2,3}={1,2,2,3},而{1,2} union {2,3}={1,2,3}
为什么这里要用distinct呢?那是因为同一个人可能多次购买同一种水果,不能重复把姓名再记录一次。
select distinct 姓名 from 表X where instr(购买物,'苹果')>0 的意思就是购买苹果的人只查出来一次,
select distinct 姓名 from 表X where instr(购买物,'香蕉')>0) 的意思就是购买香蕉的人也只查扰桐出来一次,
把它们并在一起,然码芦后按姓名分组并计算次数是否为2,是则表示它同时购买了这2种水果。
最后利用in来判断表X中姓名在查出迟李带来的姓名中,是就把他的所有购买记录全选出来