一个update语句

慢慢地转变 2014-10-13 04:06:00
有 2个表 A,B
update A set A.a1 = b2。
在这里 我需要一个子查询。即A表 a1字段 与 B表b1字段关联,要得到 B表的b2字段。where条件 还是a1 和b1关联。
现在update 跟上子查询,怎么看都觉得别扭?
update A set A.a1 = b.b2
(select b2 ,b1 from B where a1= b1) b where a1 = b.b1.(大概意思就是这样的)。
请问大神们,这个update语句究竟该怎么写啊?
...全文
162 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
慢慢地转变 2014-10-15
  • 打赏
  • 举报
回复
还可以 进行连接查询呢。
沙小果 2014-10-14
  • 打赏
  • 举报
回复
引用 7 楼 huiwenjie168 的回复:
update A left join (select b2 ,b1 from B where a1= b1) b on a.a1=b.b1 set A.a1 = b2 where a1 = b.b1
亲,你这种语法是错误的,不过受你的影响 想到一种新的写法
update A set a1 = B.b2 from A inner join B  on A.a1=B.b1
第一天逛论坛学到不少东西
Cactus_hxk 2014-10-14
  • 打赏
  • 举报
回复
update A left join (select b2 ,b1 from B where a1= b1) b on a.a1=b.b1 set A.a1 = b2 where a1 = b.b1
Cactus_hxk 2014-10-14
  • 打赏
  • 举报
回复
update A left join (select b2 ,b1 from B where a1= b1) b set A.a1 = b2 where a1 = b.b1
沙小果 2014-10-14
  • 打赏
  • 举报
回复
引用 2 楼 shixitong 的回复:
Update A set A.a1=(select b2 from B where A.a1=B.b1)
不过这个需求有点奇怪,更新了A表中的a1字段,那么这样不就失去和B表的关联吗? 如果更新A表中的其它字段还行,如果更新的是a1感觉怪怪的
又学到一种写法,不过有点小问题,当A表中a1在B表中没关联时,会被更新成null,在你的基础上修改了一下加个条件就OK了
update A set a1 = (select b2 from B where B.b1 = A.a1) where A.a1 in (select B.b1 from B )
shixitong 2014-10-13
  • 打赏
  • 举报
回复
引用 3 楼 u012099141 的回复:
[quote=引用 2 楼 shixitong 的回复:]
Update A set A.a1=(select b2 from B where A.a1=B.b1)
不过这个需求有点奇怪,更新了A表中的a1字段,那么这样不就失去和B表的关联吗? 如果更新A表中的其它字段还行,如果更新的是a1感觉怪怪的
就是感觉怪怪 的 update A set (a.col,b.col) = (select col1,col2 where )这样好像 对应 上就可以实现了。[/quote] 什么场景或者你想实现一个怎样的功能?
慢慢地转变 2014-10-13
  • 打赏
  • 举报
回复
引用 2 楼 shixitong 的回复:
Update A set A.a1=(select b2 from B where A.a1=B.b1)
不过这个需求有点奇怪,更新了A表中的a1字段,那么这样不就失去和B表的关联吗? 如果更新A表中的其它字段还行,如果更新的是a1感觉怪怪的
就是感觉怪怪 的 update A set (a.col,b.col) = (select col1,col2 where )这样好像 对应 上就可以实现了。
shixitong 2014-10-13
  • 打赏
  • 举报
回复
Update A set A.a1=(select b2 from B where A.a1=B.b1)
不过这个需求有点奇怪,更新了A表中的a1字段,那么这样不就失去和B表的关联吗? 如果更新A表中的其它字段还行,如果更新的是a1感觉怪怪的
tony4geek 2014-10-13
  • 打赏
  • 举报
回复
update from 看看

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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