SQL语句在Sql server中没问题,在Access中有问题了,保证是标准的SQL语句!

hnflavor 2005-03-06 07:33:57
表aaa
ID,price1,price2

表bbb

ID,price1,price2
表ccc
ID,price1

当ID相等时,把(aaa.price1-bbb.price1)+(bbb.price2-aaa.price1)写入ccc.price1

在SQL Server里面,用SQL查询器毫无问题. 但在access中,用ADOCommand.CommandText保存
以下查询语句,然后excute就出错!
update ccc set ccc.price1=(aaa.price1-bbb.price1)+(bbb.price2-aaa.price2)
from ccc, aaa, bbb
where aaa.id=bbb.id and bbb.id=ccc.id
...全文
124 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
vfork 2005-03-12
  • 打赏
  • 举报
回复
Accsee不支持from子句的.
sunneyboy 2005-03-08
  • 打赏
  • 举报
回复
update ccc,aaa,bbb set ccc.price1=(aaa.price1-bbb.price1)+(bbb.price2-aaa.price2)
where aaa.id=bbb.id and bbb.id=ccc.id

用这个语句应该是没问题的,我以前也碰到过这样的问题,是因为在access中要把所以用到表名都放在update后面,不管这个表是否要更新.
gxgyj 2005-03-07
  • 打赏
  • 举报
回复
Access中不支持
update ... from ...

用一个临时表吧...
yp 2005-03-07
  • 打赏
  • 举报
回复
是不是那个字段还没有数据,值为null的原因。
如是:还应该加一个判断语句
vfork 2005-03-07
  • 打赏
  • 举报
回复
dsafsadfasd
cdsgajxlp 2005-03-07
  • 打赏
  • 举报
回复
up
caiso 2005-03-07
  • 打赏
  • 举报
回复
顶一下^_^
xx_adam 2005-03-06
  • 打赏
  • 举报
回复
好像有这样的问题,不过你可以用access中的查询设计功能完成sql 语句然后copy到程序中去!
vfork 2005-03-06
  • 打赏
  • 举报
回复
UP还没解决!
softbugg 2005-03-06
  • 打赏
  • 举报
回复
ADO的版本是多少?换成高版本的试试。
DeltaCat 2005-03-06
  • 打赏
  • 举报
回复
update ccc,aaa,bbb set ccc.price1=(aaa.price1-bbb.price1)+(bbb.price2-aaa.price2)
where aaa.id=bbb.id and bbb.id=ccc.id
78hgdong 2005-03-06
  • 打赏
  • 举报
回复
试试:
update ccc set C.price1=((A.price1-B.price1)+(B.price2-A.price2))
from ccc C, aaa A, bbb B
where A.id=B.id and B.id=C.id

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧