这条update有错吗?

wenyongjie 2013-07-05 08:49:33
一张表,

编号 上级编号 原编号

10759 0
10760 0 4807
10761 4807 4808
10762 4807 4809
。。。。

我想实现 上级编号=编号 当原编号=上级编号时

更新后的效果如下
编号 上级编号 原编号
10759 0
10760 0 4807
10761 10760 4808
10762 10760 4809
。。。。


update 表 a ,表 b set a.上级编号=b.编号 where a.上级编号 = b.原编号
或者

update 表 a,表 b set a.上级编号=b.编号 where b.编号 in(select c.编号 from 表 c where c.原编号=a.上级编号)
都不行
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenyongjie 2013-07-06
  • 打赏
  • 举报
回复
知道原因了,把ACCESS压缩修复一下 update 表 a ,表 b set a.上级编号=b.编号 where a.上级编号 = b.原编号 或者 update 表 a,表 b set a.上级编号=b.编号 where b.编号 in(select c.编号 from 表 c where c.原编号=a.上级编号) 就正常得不得了了 谢谢了,
wenyongjie 2013-07-06
  • 打赏
  • 举报
回复
真实语句就是这两条 update 表 a ,表 b set a.上级编号=b.编号 where a.上级编号 = b.原编号 或者 update 表 a,表 b set a.上级编号=b.编号 where b.编号 in(select c.编号 from 表 c where c.原编号=a.上级编号)
ACMAIN_CHM 2013-07-06
  • 打赏
  • 举报
回复
你的真实语句用的是什么? 贴出以供分析。
wenyongjie 2013-07-05
  • 打赏
  • 举报
回复
全部都是整形
ACMAIN_CHM 2013-07-05
  • 打赏
  • 举报
回复
上级编号 数据类型是什么?
wenyongjie 2013-07-05
  • 打赏
  • 举报
回复
不行,执行后,把上级编号的值全清空了
ACMAIN_CHM 2013-07-05
  • 打赏
  • 举报
回复
update 表 set 上级编号=dlookup('编号','表','原编号='&上级编号)

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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