请教Oracle中,一条Sql语句问题.在线等,急用,谢谢.

jash_dou 2007-04-04 10:59:27
表A 字段 a,b,c.a,b为主键,c为记载时间的字符串
表B 字段 a,b,c.c为记载时间的字符串
其中表A和表B 是一对多关系.

现在要实现的是:把表A中的c字段,修改为表B中符合(A.a = B.a and A.b = B.b)
条件的最大的c字段的值.
update (select max(b.c) as bc,A.c as ac,A.a from A,B
where A.a = B.a and A.b = B.b group by ac,A.a ) set bc = ac
实现不了,哪位大虾给帮帮忙,谢谢.
...全文
273 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
DragonBill 2007-04-12
  • 打赏
  • 举报
回复
update A set c = (select max(c) from B where A.a = B.a and A.b = B.b)
where exists (select 1 from B where A.a = B.a and A.b = B.b)
haosimentu 2007-04-09
  • 打赏
  • 举报
回复
update A set A.c=( select max(B.c) from A,B where A.a = B.a and A.b = B.b)
where A.a=(select A.a from A,B where A.a = B.a and A.b = B.b)
eeyyllehs 2007-04-05
  • 打赏
  • 举报
回复
帮顶
gqcwin 2007-04-05
  • 打赏
  • 举报
回复
uP
Paladin_china 2007-04-04
  • 打赏
  • 举报
回复
大致这样,没有调试过,如果不行的话自己再修改一下吧 :)
Paladin_china 2007-04-04
  • 打赏
  • 举报
回复
update A t1 set
c = (select max(t2.c) from B t2 where t2.a = t1.a and t2.b = t1.b )
where exists (select 'X' from B t3 where t3.a = t1.a and t3.b = t1.b)
dashi 2007-04-04
  • 打赏
  • 举报
回复
友情up
jash_dou 2007-04-04
  • 打赏
  • 举报
回复
没有人守望相助吗?
updatename 2007-04-04
  • 打赏
  • 举报
回复
~up

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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