我是一名使用VB6/Access 2000的SQL新手,正在尝试获取一个将一个表中的值的总和放入另一个表的查询。VB6完成了这项工作,但速度太慢了。我在Access中搜索并尝试了很多次,只是被关键字in、ON、(INNER)JOIN弄丢了,每次都会得到不同的错误。
核心代码应如下所示:
update t1
set t1.value = sum(t2.value)
where
val(t2.code)>89
and
t2.date=t1.date
t1.date
是一个日期,没有重复t2.code
是类似于"0081"、"090"的变量字符串- 值为单精度
经过进一步搜索,我在这里找到了一个类似的问题(http://goo.gl/uqlw0U)并尝试过:
UPDATE t1
SET t1.value =
(
SELECT
SUM(t2.value)
FROM spese
WHERE
t1.date=t2.date
AND
val(t2.code)>89
)
但Access只是说"需要可更新的查询"——这是什么意思?
试试这个:
UPDATE t1
SET t1.value = SUM(t2.value)
FROM t1, t2
WHERE
val(t2.code)>89
AND
t2.date=t1.date