sql语句 update A表 a.name中的字段为 B表 中 b.name

表a:IDdatenamebook12014-11-1112:11:01wanga22014-11-1213:14:44liua32014-11-1213:14:44wa... 表 a: ID date name book
1 2014-11-11 12:11:01 wang a
2 2014-11-12 13:14:44 liu a
3 2014-11-12 13:14:44 wang b
3 2014-11-12 13:14:44 liu c
表 b: ID date name
1 2014-11-11 12:11:01 xie
2 2014-11-12 13:14:44 wen
3 2014-11-12 13:14:44 zhang

我想用update语句将a.name更新成b.name,其中a表和b表关联的ID和DATE不是主键,
请问应该怎么写,数据库是oracle的
希望得到的结果是下面这样的

表 a: ID data name
1 2014-11-11 12:11:01 xie
2 2014-11-12 13:14:44 wen
3 2014-11-12 13:14:44 zhang
3 2014-11-12 13:14:44 zhang

我写的是update a set a.name =

( select b.name from b where a.name=b.name and a.date=b.date)
where exists ( select b.name from b where a.name=b.name and a.date=b.date) ;
报错 single-row subquery returns more than one
展开
 我来答
li101chao
2014-11-17 · TA获得超过233个赞
知道小有建树答主
回答量:1044
采纳率:92%
帮助的人:657万
展开全部
update a set a.name=b.name from a,b where a.ID=b.ID
不是主键也无所谓的,进行多次更新而已
更多追问追答
追问
我写的是update a set a.name =

( select b.name from b where a.name=b.name and a.date=b.date)
where exists ( select b.name from b where a.name=b.name and a.date=b.date) ;
追答
也可以啊,就是麻烦了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式