有谁会写这样update语句?(access)

时间:2021-05-24 21:58:05
我现在想把表B的两列同时更新,它们的值来自表A两列的求各值。即:

update B +条件 set (c2,c3)=(select sum(c2),sum(c3) from A +条件)
这在oracle中很好实现,一个语句就出来了,可在access中怎样写呢?

8 个解决方案

#1


经试正确,立即给分!

#2


update B 
set c2=(select sum(c2) from A where 条件)
    ,c3 =(select sum(c3) from A where 条件)
where 条件

#3


update B 
set c2=(select sum(c2) from A where 条件)
    ,c3 =(select sum(c3) from A where 条件)
where 条件

#4


update b set c2=(select sum(c2) from a where 条件),c3 =(select sum(c3) from A where 条件) where 

#5


不对,以上的语句我试了。不行!提示:操作必须使用可更新的查询。

#6


请帮忙的朋友再试一下。以上语句在别的数据库可能行,但在ACCESS中不行。

#7


哈哈,一看就知道都是所谓的sql server高手。

兄弟们,sqlserver得t-sql语句在access里面并不一定行得通

在access里面必须使用jet-sql而不是t-sql

UPDATE b SET b.c2 = DSum("c2","a","c2>500"), b.c3 = DSum("c3","a","c3>500");

才是正确的代码,不过再次警告,上述语句是access环境下运行的,搬其他环境是不能正常运行的。 
说明:
c2>500 这些是条件,你自己看着改吧

#8


changechange(改了又改),高明!
果然正确!

我不仅在Access中执行成功,在delphi下也执行成功了。
看来,楼上的都用的是SQL SERVER的语句。

谢谢。

#1


经试正确,立即给分!

#2


update B 
set c2=(select sum(c2) from A where 条件)
    ,c3 =(select sum(c3) from A where 条件)
where 条件

#3


update B 
set c2=(select sum(c2) from A where 条件)
    ,c3 =(select sum(c3) from A where 条件)
where 条件

#4


update b set c2=(select sum(c2) from a where 条件),c3 =(select sum(c3) from A where 条件) where 

#5


不对,以上的语句我试了。不行!提示:操作必须使用可更新的查询。

#6


请帮忙的朋友再试一下。以上语句在别的数据库可能行,但在ACCESS中不行。

#7


哈哈,一看就知道都是所谓的sql server高手。

兄弟们,sqlserver得t-sql语句在access里面并不一定行得通

在access里面必须使用jet-sql而不是t-sql

UPDATE b SET b.c2 = DSum("c2","a","c2>500"), b.c3 = DSum("c3","a","c3>500");

才是正确的代码,不过再次警告,上述语句是access环境下运行的,搬其他环境是不能正常运行的。 
说明:
c2>500 这些是条件,你自己看着改吧

#8


changechange(改了又改),高明!
果然正确!

我不仅在Access中执行成功,在delphi下也执行成功了。
看来,楼上的都用的是SQL SERVER的语句。

谢谢。