ACCESS同一数据库的两个表,求“一个表的某个记录中的某个字段更新为另一个表中某个记录的两个字段运算后的值"的SQL语句 (参与有分)

oiq 2003-11-10 07:43:05
比如有表a,b.
更新a.total = b.price * b.number
...全文
252 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
nfsxy 2003-11-12
  • 打赏
  • 举报
回复
可以为表达式,无需from
yoki 2003-11-11
  • 打赏
  • 举报
回复
access与sqlserver的update语法不一样,要注意
nfsxy 2003-11-11
  • 打赏
  • 举报
回复
cnn.execute "update a,b set a.total=b.price*b.number where a.id=b.id;"
id为a,b的关联字段
yoki 2003-11-11
  • 打赏
  • 举报
回复
Dim cn As New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source=c:\db.mdb"
cn.Execute "update a ,b Set total = b.price * b.Number where a.id=b.id"
cn.Close
Set cn = Nothing
oiq 2003-11-11
  • 打赏
  • 举报
回复
那能不能再多加几个运算,比如,a.total是b表中多个字段运算后的值,可以这样用吗?
也就是说set total=后面的可以是一个表达式吗?还有,要不要FROM段?我看的例子大部分是有FROM段的。
yoki 2003-11-11
  • 打赏
  • 举报
回复
关联的字段类型不重要,主要是通过这个关联的去找到对应的那条纪录就可以

qq:7794895
msn:wangbin73@hotmail.com
oiq 2003-11-11
  • 打赏
  • 举报
回复
小马哥,你好,
能给我QQ或MSN吗?我们交个朋友吧。
我的QQ 141633698
我的MSN webmaster@dpspace.com
oiq 2003-11-11
  • 打赏
  • 举报
回复
我对SQL语句不熟啊,呵呵。
两个表关联的东西能不能是一个字符型的数据。
yoki 2003-11-11
  • 打赏
  • 举报
回复
当然可以,你没有试么?
这个就是用ado的呀

Dim cn As New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source=c:\db.mdb"
cn.Execute "update a ,b Set total = b.price * b.Number where a.id=b.id"
cn.Close
Set cn = Nothing
oiq 2003-11-11
  • 打赏
  • 举报
回复
我指的是连ACCESS,不是SQLSERVER
oiq 2003-11-11
  • 打赏
  • 举报
回复
to yoki(小马哥)
要是我用ADO连接的话,可以用这样的UPDATE语句吗?
zcm123 2003-11-11
  • 打赏
  • 举报
回复
.
红牛哥110 2003-11-11
  • 打赏
  • 举报
回复
我也试了很多次,就是不成功,呵呵,帮不了你
oiq 2003-11-10
  • 打赏
  • 举报
回复
是不是ACCESS不支持这种句法啊。

这个贴子共有220分,分别在下面几个贴子中。
http://expert.csdn.net/Expert/topic/2446/2446844.xml?temp=.265072
http://expert.csdn.net/Expert/topic/2446/2446848.xml?temp=.6817285
http://expert.csdn.net/Expert/topic/2446/2446820.xml?temp=.4457666
oiq 2003-11-10
  • 打赏
  • 举报
回复
ACCESS 提示
语法错误(操作符丢失)在查询表达式'b.price*b.number from b'中

我不知道是不是ACCESS的问题,我用ADO连数据库,不知用这个SQL行不行。
dishou 2003-11-10
  • 打赏
  • 举报
回复
如果两个表通过ID相关联,则如果是其他的,将a.ID=b.ID替换为相应字段
UPDATE a SET a.total = b.price*b.number FROM a,b where b.ID=a.ID
txlicenhe 2003-11-10
  • 打赏
  • 举报
回复
update a set a.total = b.price*b.number from b where b.id = a.id

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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