oracle 中两张表之间的列复制

两张表,一张是实体表t1,列a、b,t1.a有值,t1.b为空,b等待赋值。
另一张表为通过关联查询出来的表(select.....) t2,有两列,t2.c,t2.d都有值。
我想要把d赋值到b中,条件是a=c。即
update t1.b=t2.d where t1.a=t2.c。
注:
1、oracle的写法
2、第二张表为关联出来的表

因为有(select.....) t2,然后就把我难住了

纠正

update t1 set t1.b = (select d from (select.....) t2 where t1.a=t2.c)

update t1 set t1.b = (select d from (select.....) t2) where t1.a=t2.c
但是报错 ORA-01407:无法更新("数据库"."t1"."b")为NULL
求大神指点啊

首先我t2中的d是没有NULL的