0

我是使用 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 只是说“需要可更新的查询”——这是什么意思?

4

1 回答 1

0

尝试这个:

UPDATE t1
 SET t1.value = SUM(t2.value)
FROM t1, t2
WHERE
 val(t2.code)>89
AND
 t2.date=t1.date
于 2020-01-16T18:40:30.843 回答