设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2772|回复: 12
打印 上一主题 下一主题

[其它] 这样的插入如何做

[复制链接]
跳转到指定楼层
1#
发表于 2003-5-5 20:02:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有一个表A,内有字段34个,现在要对其中的32个字段进行汇总,group by 字段1,然后将其所有值插入到一个相同的结构的表中,请问如何写最快,如如下这样写会很慢:     insert into tableB(字段1.......字段34) values (' rs1.field(0).....rs1.field(34) 这样就很复杂了,有没有更简单的方法
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2003-5-5 20:10:00 | 只看该作者
可以建一个追加查询来做。
3#
 楼主| 发表于 2003-5-5 21:28:00 | 只看该作者
谢谢!
问题是我要按字段1来求和其它和每一个字段,这个查询怎么做呢
能告诉我吗

[此贴子已经被作者于2003-5-5 13:30:00编辑过]

4#
发表于 2003-5-6 00:29:00 | 只看该作者
发上来看看!
5#
发表于 2003-5-6 00:54:00 | 只看该作者
建一个追加查询, 在查询的设计视图中很简单.
用SQL表示如下: INSERT INTO tableB ( 字段2, 字段3, 字段4...... ) SELECT tableA.字段1, Sum(tableA.字段2) AS 字段2之Sum, Sum(tableA.字段3) AS 字段3之Sum...... FROM 表1 GROUP BY tableA.字段1;
6#
 楼主| 发表于 2003-5-6 17:15:00 | 只看该作者
那我有总计34个字段,那不是要写34* 2 =68 个字段,那不是很长很长的一句,有没有更简单的方法

点击这里给我发消息

7#
发表于 2003-5-6 17:20:00 | 只看该作者
能解决问题, 还怕长吗?!
8#
 楼主| 发表于 2003-5-6 18:35:00 | 只看该作者
sqlinst = " insert into wkly_sum ( 字段1,字段2,字段3,字段4,字段5,字段6,字段7,字段8,字段9,字段10,字段11,字段12,字段13,字段14,字段15,字段16,字段17,字段18,字段19,字段20,字段21,字段22,字段23,字段24,字段25,字段26,字段27,字段28,字段29,字段30,字段31,字段32,字段33,字段34,字段35,字段36 ) "
sqlinst = sqlinst & " select tableB.字段1,tableB.字段2,tableB.字段3,tableB.字段4,tableB.字段5,tableB.字段6,tableB.字段7,tableB.字段8,sum(tableB.字段9) as z9 ,sum(tableB.字段10) as z10, sum(tableB.字段11) as z11 , sum(tableB.字段12) as z12 , sum(tableB.字段13) as z13, sum(tableB.字段14) as z14, sum(tableB.字段15) as z15, sum(tableB.字段16) as z16, sum(tableB.字段17) as z17, sum(tableB.字段18) as z18, sum(tableB.字段19) as z19, sum(tableB.字段20) as z20, sum(tableB.字段21) as z21, sum(tableB.字段22) as z22, sum(tableB.字段23) as z23, sum(tableB.字段24) as z24, sum(tableB.字段25) as z25, sum(tableB.字段26) as z26, sum(tableB.字段27) as z27, sum(tableB.字段28) as z28, sum(tableB.字段29) as z29, sum(tableB.字段30) as z30, sum(tableB.字段31) as z31, sum(tableB.字段32) as z32,sum(tableB.字段33) as z33, sum(tableB.字段34) as z34,  tableB.字段35,tableB.字段36 from wkly group by tableB.字段3 "
Debug.Print sqlinst
dbcur.Execute sqlinst
可却出错了
运行时错误 '3122'
you tried to execute a query that does not include the specified expression '字段1' as part of an aggregate funcation
以上的错误是因为什么呢




[此贴子已经被作者于2003-5-6 10:38:40编辑过]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
9#
 楼主| 发表于 2003-5-7 00:43:00 | 只看该作者
为什么会出错呢
10#
发表于 2003-5-7 01:04:00 | 只看该作者
group by没有和前面的一一对应

select tableB.字段1,tableB.字段2,tableB.字段3,tableB.字段4,tableB.字段5,tableB.字段6,tableB.字段7,tableB.字段8,

里面要么都sum(除了字段3),要么统统删除
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 18:50 , Processed in 0.077836 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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