Office中国论坛/Access中国论坛
标题: 这样的插入如何做 [打印本页]
作者: feier 时间: 2003-5-5 20:02
标题: 这样的插入如何做
我有一个表A,内有字段34个,现在要对其中的32个字段进行汇总,group by 字段1,然后将其所有值插入到一个相同的结构的表中,请问如何写最快,如如下这样写会很慢: insert into tableB(字段1.......字段34) values (' rs1.field(0).....rs1.field(34) 这样就很复杂了,有没有更简单的方法
作者: zhengjialon 时间: 2003-5-5 20:10
可以建一个追加查询来做。
作者: feier 时间: 2003-5-5 21:28
谢谢!
问题是我要按字段1来求和其它和每一个字段,这个查询怎么做呢
能告诉我吗
[此贴子已经被作者于2003-5-5 13:30:00编辑过]
作者: sxgaobo 时间: 2003-5-6 00:29
发上来看看!
作者: whowho 时间: 2003-5-6 00:54
建一个追加查询, 在查询的设计视图中很简单.
用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;
作者: feier 时间: 2003-5-6 17:15
那我有总计34个字段,那不是要写34* 2 =68 个字段,那不是很长很长的一句,有没有更简单的方法
作者: zhuyiwen 时间: 2003-5-6 17:20
能解决问题, 还怕长吗?!
作者: feier 时间: 2003-5-6 18:35
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编辑过]
作者: feier 时间: 2003-5-7 00:43
为什么会出错呢
作者: cg1 时间: 2003-5-7 01:04
group by没有和前面的一一对应
select tableB.字段1,tableB.字段2,tableB.字段3,tableB.字段4,tableB.字段5,tableB.字段6,tableB.字段7,tableB.字段8,
里面要么都sum(除了字段3),要么统统删除
作者: feier 时间: 2003-5-7 01:08
因为我只要对tableB的部分字段进行求和,而其它的不用求和,求和是根据 '字段3' 来求和的,所以我就那样写了,如果所有的都加上SUM,而有些是文本格式我不用求和那如何写,因为一个表里有很多字段,我只用对其中的部分字段求和,并将所有值插入到新表中,请问这样如何写呢,
作者: feier 时间: 2003-5-7 21:30
cg1能告诉我原因吗
作者: whowho 时间: 2003-5-7 22:11
直接在查询的设计窗体中做,图形界面,不用语句。按不同字段使用GROUP BY, SUM, MAX, MIN......
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |