关于报表字段的替换问题

举个例子:
如下图,表中字段p的值需全部换成对应ID且字段t=A的p值,sql该如何写呢?谢谢图片说明

UPDATE aa a1,aa a2 SET a1.p=a2.p where a1.id=a2.id and a2.t='A'

sqlserver sql:update t1 set p =t2.p from test1 t1,test1 t2 where t1.id=t2.id and t2.t='A';oracle没试,差不多这个道理,自己可以试一下

select #T.id,#T.t,a.P
from #T left join (select * from #T where t='A') as a
on #T.id=a.id