Update两表(多表)关联update -- 被修改值由另一个表运算而来

UPDATE trd_sess A 
SET    A.rec_updt_la_dt_tm = SYSDATE, 
       A.trd_sess_end_tm = (SELECT B.trd_sess_end_tm 
                            FROM   trd_sess B 
                            WHERE  B.prod_type = 'LEQU' 
                                   AND B.wkdy_tdy_cde = A.wkdy_tdy_cde 
                                   AND B.trd_sess_cde = A.trd_sess_cde 
                                   AND B.trd_sb_sess_cde = A.trd_sb_sess_cde 
                                   AND B.grp_prod_type_prim_cde = 
                                       A.grp_prod_type_prim_cde) 
WHERE  A.prod_type = 'ZZZZ' 
       AND A.wkdy_tdy_cde IN ( 1, 2, 3, 4, 5 ) 
       AND A.trd_sess_cde = 'AFTMTH' 
       AND A.trd_sb_sess_cde = 'SESS01' 
       AND A.grp_prod_type_prim_cde = 'L'; 

猜你喜欢

转载自buralin.iteye.com/blog/2332272