比较两个表,有相同的就修改

xxzqbxxzqb 2016-09-23 03:41:20
有如下两个表,表名分别为A、B




当表A中的 【单元编码】 等于 表B中的 【单元编码】时,就修改 表B的 【现状态】字段 为“已租”

寻求一种高效的方法,请赐教。
...全文
253 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxzqbxxzqb 2016-09-26
  • 打赏
  • 举报
回复
忘了括弧。 ok
xxzqbxxzqb 2016-09-26
  • 打赏
  • 举报
回复
with adoquery1 do begin close; sql.Clear; sql.add('update A'); sql.add('set 现状态=''已租'' '); sql.Add('where 现状态=''空置'' and 单元编码 in'); sql.add('select A.单元编码 from A,B'); sql.add('where A.单元编码=B.单元编码'); execsql; end; 提示有问题。 换成 with adoquery1 do begin close; sql.Clear; sql.add('update A'); sql.add('set 现状态=''已租'' '); sql.Add('where 现状态=''空置'' and 单元编码 in'); sql.add('select .单元编码 from B'); execsql; end; 也不行。
lyhoo163 2016-09-24
  • 打赏
  • 举报
回复
表A、B分别读入Table中,通过循环、比较数据,赋值。
vision2000 2016-09-23
  • 打赏
  • 举报
回复
UPDATE B SET 现状态='已租' WHERE 现状态='空置' AND 单元编码 IN ( SELECT 单元编码 FROM A )
vision2000 2016-09-23
  • 打赏
  • 举报
回复
一条SQL就搞定了
Frank6600 2016-09-23
  • 打赏
  • 举报
回复
A,B是“数据库”表? 如果是,使用SQL语句改就行了

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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