
用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:
我知道我写的是错的,我想知道应该如何写才能实现我所需要的结果 展开
现在有
表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:
我知道我写的是错的,我想知道应该如何写才能实现我所需要的结果 展开
3个回答
展开全部
在MSSQL下要达到你的目的这样修改下:
update 表1 set 个数 = (select count(*) from 表2 where 表2.序号2=表1.序号1)
但在ACCESS中不支持UPDATE中使用子查询。。
原因Access使用的是Jet SQL,MS 使用的是T-SQL
如果是ACCESS2007 也许可以用DCount 函数实现你的要求。。
update 表1 set 个数 = (select count(*) from 表2 where 表2.序号2=表1.序号1)
但在ACCESS中不支持UPDATE中使用子查询。。
原因Access使用的是Jet SQL,MS 使用的是T-SQL
如果是ACCESS2007 也许可以用DCount 函数实现你的要求。。
展开全部
update 表1 set 个数 = (select count(*) from 表2 group by 序号2)
你这个句子是错误的
select count(*) from 表2 group by 序号2;
返回的是
2
1
你想要的是
2
0
1
返回的行数与你要update的行数不符合
你这个句子是错误的
select count(*) from 表2 group by 序号2;
返回的是
2
1
你想要的是
2
0
1
返回的行数与你要update的行数不符合
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个错误常见的情况是因为你的Access数据库没有权限。
右键点数据库文件,设置权限Everyone可读写。
右键点数据库文件,设置权限Everyone可读写。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询