帮忙写一条ms Access 可识别的sql语句

spirix 2003-08-20 11:31:57
由表A,B,其中A的主建也是B的主键,那么,我想把瞒足条件的B的数据付给A,怎么做!
我写了如下语句,执行出错

A
————————
IDA a b c d
-----------
1 3 3 4 6
2 5 3 7 8
.......
......

B
----------
IDB h i j
0 3 4 4
1 3 2 4

我现在想把 IDA,IDB 为 1 时的 表B 字段 h的值付给表A a [事先他们的数据类型已经一样了]

我写了以下的句子,但是不对

update A set a = (select h from B where IDB = 1) where IDA=1
请问应该怎样写!
多谢多谢1




...全文
70 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nudfrog 2003-09-03
  • 打赏
  • 举报
回复
更正:

如果对任何的id的值进行此操作,则
update a,b
set a.a=b.h
where a.IDA=b.IDB
nudfrog 2003-09-03
  • 打赏
  • 举报
回复
如果只对id为1的进行操作,则
update a,b
set a.a=b.h
where a.ida=b.idb and b.idb=1

如果对任何的id的值进行此操作,则
update a,b
set a.a=b.h
where a.id_a=b.id_b

已经测试通过,希望对你有帮助
klbt 2003-08-31
  • 打赏
  • 举报
回复
支持。
sjjf 2003-08-20
  • 打赏
  • 举报
回复
sql按纪录集操作,但指定的条件是再全部的范围内生效的,
update 要指定修改的字段,数据来源要对应,所以你运行不了

可以有一种方法解决你的问题
先删除,再插入,分2次进行。

3,422

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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