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 展开
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 展开
1个回答
展开全部
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) ;
追答
也可以啊,就是麻烦了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询