用sql语句添加列的问题

我用的是access数据库现在有表1序号1,内容11a2b3c表2序号2,内容21a1b3c我想用sql语句将表1变为序号1,内容1,个数1a22b03c1注意表二中没有... 我用的是access数据库

现在有
表1
序号1,内容1
1 a
2 b
3 c
表2
序号2,内容2
1 a
1 b
3 c
我想用sql语句将表1变为
序号1,内容1,个数
1 a 2
2 b 0
3 c 1

注意表二中没有序号为2的行

我用的sql语句是:
第一步,添加“个数”列
alter table 表1 add column 个数 integer
第二步,更新内容
update 表1 set 个数 = (select count(*) from 表2 group by 序号2)

结果返回错误“操作必须使用一个可更新的查询”

请高手指点,先谢过大家!
loveyurui:
我知道我写的是错的,我想知道应该如何写才能实现我所需要的结果
展开
 我来答
百度网友6fa44b146
2009-11-21 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:61
采纳率:0%
帮助的人:0
展开全部
在MSSQL下要达到你的目的这样修改下:

update 表1 set 个数 = (select count(*) from 表2 where 表2.序号2=表1.序号1)

但在ACCESS中不支持UPDATE中使用子查询。。
原因Access使用的是Jet SQL,MS 使用的是T-SQL

如果是ACCESS2007 也许可以用DCount 函数实现你的要求。。
loveyurui
2009-11-21 · TA获得超过6557个赞
知道大有可为答主
回答量:2892
采纳率:33%
帮助的人:1043万
展开全部
update 表1 set 个数 = (select count(*) from 表2 group by 序号2)
你这个句子是错误的
select count(*) from 表2 group by 序号2;
返回的是
2
1
你想要的是
2
0
1

返回的行数与你要update的行数不符合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CloudPRose
2009-11-20 · TA获得超过5175个赞
知道大有可为答主
回答量:3175
采纳率:66%
帮助的人:934万
展开全部
这个错误常见的情况是因为你的Access数据库没有权限。

右键点数据库文件,设置权限Everyone可读写。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式