access中如何实现用一个表的统计结果更新另一个表?
表1:
字段1(唯一) ,字段2
表2:
字段1(不唯一), 字段2
要解决的问题:
在条件 (表1.字段1 = 表2.字段2) 下更新 表1.字段2 ,
使表1.字段2 = SUM(表2.字段2)
求教SQL语句怎么写啊?
问题点数:100、回复次数:6Top
1 楼ysai(所有真的都是假的真,所有假的都是真的假)回复于 2003-09-02 22:17:22 得分 40
update 表1,(
select 字段1,sum(字段2) as c
from 表2
group by 字段2) b
set 表1.字段2=b.c
where 表1.字段1=b.字段1Top
2 楼chengfeng(http://www.tianyake.com)回复于 2003-09-02 23:21:41 得分 0
谢谢,我明天试过就给分!Top
3 楼changechange(http://access911.net 是我的个人网站,欢迎光临)回复于 2003-09-03 10:31:26 得分 40
真的可以吗?怎么有很多人反映不行啊?
楼主通过了吗?Top
4 楼hiyo()回复于 2003-09-03 11:28:18 得分 10
上面语句可行吗?
你完全可以通过记录集操作搞定。比如创建记录集RST,然后执行RST.EDIT(ado不用RST.EDIT)最后是RST.UPDATETop
5 楼ysai(所有真的都是假的真,所有假的都是真的假)回复于 2003-09-03 18:03:48 得分 10
想错了,没办法用不可更新的查询(有GROUP等子句的查询)做为UPDATE的目标表,ACCESS的UPDATE又不支持FROM子句,太笨了
看来只有用临时表了,三条SQL
select 字段1,sum(字段2) as c into TempTab
from 表2
group by 字段2
update 表1,TempTab
set 表1.字段2=TempTab.c
where 表1.字段1=TempTab.字段1
Drop Table TempTabTop
6 楼chengfeng(http://www.tianyake.com)回复于 2003-09-10 23:12:39 得分 0
第一个方法是不行,不过我已经解决了,谢谢各位Top



