SQL 用A表中查询结果替换 B 表中某一字段?

panshi502 2010-07-19 08:20:01
表 A: item_no, item_name, qty, flag
表 B: item_no, item_name, qty, before_qty, flag

执行条件: A.flag='0', A.qty<> B.qty, A.item_no=B.item_no

替换结果: B.flag='F9',B.before_qty=A.qty

把A表中符合执行条件的记录中的A.QTY 替换 B表中某一字段
...全文
432 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
htl258_Tony 2010-07-19
  • 打赏
  • 举报
回复
UPDATE b 
INNER JOIN a
ON A.qty<>B.qty
AND A.item_no=B.item_no
SET B.flag = 'F9', B.before_qty = A.qty
WHERE A.flag='0'
再试试,不行到ACCESS版提问。
panshi502 2010-07-19
  • 打赏
  • 举报
回复
6楼的语句执行似乎有错误,提示 a.flag='0' 是不支持的连接表达式
htl258_Tony 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 panshi502 的回复:]
同样的语句放在 access 报错,如何解决?
[/Quote]
为何早不说,汗

UPDATE b 
INNER JOIN a ON A.flag='0'
AND A.qty<>B.qty
AND A.item_no=B.item_no
SET B.flag = 'F9', B.before_qty = A.qty
永生天地 2010-07-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 panshi502 的回复:]
同样的语句放在 access 报错,如何解决?
[/Quote]
具体错误信息?
panshi502 2010-07-19
  • 打赏
  • 举报
回复
同样的语句放在 access 报错,如何解决?
Mr_Nice 2010-07-19
  • 打赏
  • 举报
回复
UPDATE  B 
SET flag='F9',B.before_qty=A.qty
FROM A
WHERE A.flag='0' AND A.qty<> B.qtY AND A.item_no=B.item_no
SQL77 2010-07-19
  • 打赏
  • 举报
回复
UPDATE  B SET flag='F9',B.before_qty=A.qty
FROM A WHERE A.flag='0' AND A.qty<> B.qtY AND A.item_no=B.item_no
htl258_Tony 2010-07-19
  • 打赏
  • 举报
回复
UPDATE b
SET B.flag = 'F9', B.before_qty = A.qty
FROM a
WHERE A.flag = '0'
AND A.qty<>B.qty
AND A.item_no = B.item_no

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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