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 条件
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 条件
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 这些是条件,你自己看着改吧
兄弟们,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的语句。
谢谢。
果然正确!
我不仅在Access中执行成功,在delphi下也执行成功了。
看来,楼上的都用的是SQL SERVER的语句。
谢谢。
#1
经试正确,立即给分!
#2
update B
set c2=(select sum(c2) from A where 条件)
,c3 =(select sum(c3) from A where 条件)
where 条件
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 条件
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 这些是条件,你自己看着改吧
兄弟们,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的语句。
谢谢。
果然正确!
我不仅在Access中执行成功,在delphi下也执行成功了。
看来,楼上的都用的是SQL SERVER的语句。
谢谢。