加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Access 连表查询语法

发布时间:2020-12-12 14:56:02 所属栏目:MsSql教程 来源:网络整理
导读:? 目的是想把b表的img字段内容更新到a表的img字段上,没想到sql的语法在access里竟然不支持! update [member_inf] set [img] =(select [img] from [img] where [id]=1) ? where [id]=1? 提示不可更新字段 百度之后才知道access用的Jet-SQl,SqlServer用的是T-S
Update?tabClasss set Child=(select count(0)?from ?TabClass where parentId=2) where id=2

运行之后居然报错" 操作必须使用一个可更新的查询。",刚开始以为是SQL写错了,但仔细检查了几遍也没有什么错啊,拿到ACCESS的查询中执行,还是报同样的错误.想来想去看来只能把SQL拆成两句写了.于是闲着没事,翻了一下ACCESS的内置函数表,看到几个有趣的函数,DFirst,DLast,DCount,DMax,DMin呵呵,ACCESS虽不支持子查询但提供了很多有用的内置函数来弥补,于是上面的问题就迎刃而解了,对应的SQL如下 Update TabClass set Child=DCOUNT('0',' TabClass','parentId=2') where id=2

?

?

=====2011.2.17日补充===========

今天又碰到类似的情况,比如有两个表,一个是产品分类表 A(ID,分类名,分类下产品个数),另一个是产品详细表 B(ID,分类ID,产品名),现在想把A表中"分类下产品个数"进行更新,可以使用如下语句

update A? set?A.分类下产品个数=DCOUNT('0','B','分类ID=' & A.id)??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

?

目的是想把b表的img字段内容更新到a表的img字段上,没想到sql的语法在access里竟然不支持!

update [member_inf] set [img] =(select [img] from [img] where [id]=1)


?

where [id]=1? 提示不可更新字段

百度之后才知道access用的Jet-SQl,SqlServer用的是T-SQl.

?

?

正确语法:

UPDATE A,B

SET a.x = B.y,...

WHERE a.z = b.z

[AND a.z='']


?

?

我是这样写的,测试可以

update [member_inf] as t1,[img] as t2
set t1.[img]=t2.[img]
where
    t1.[id]= t2.[id] and t1.[id]=1



?

?

今天帮朋友写一个小网站的程序,数据库用的ACCESS,因为需要将某个类下的子类个数更新到该类的Child字段,于是我写了这样一个查询

    推荐文章
      热点阅读