求一条非常简单的语句
有2个表 根据t1.a=t2.a 来更新t1.b=t2.b:
update t1 set b=(select t2.b from t2 where t1.a=t2.a);
为什么在from里添加一个t1写成如下语句就会报单行子查询返回多行?
update t1 set b=(select t2.b from t2,t1 where t1.a=t2.a);
为什么添加第3张表也不行:如果要添加第3张表的条件 改怎么写?
update t1 set b=(select t2.b from t2,t3,t1 where t1.a=t2.a and t1.a = t3.a and t2.b=t3.b);
我写成这样为什么会编译不通过?报ORA-00600内部错误代码,参数:[qctVCO:csform],[0],[0],[0],[0],[1],[1],[0]
update t1 set b=(select t2.b from t2 Where t2.b in
(select t2.b from t2,t3,t1 where t1.a=t2.a and t1.a = t3.a and t2.b=t3.b))
正确的写法是什么啊? 谢谢