SELECT a.serv_id, a.cond_id, b.cond_name,a.valid_date,
GREATEST(NVL(PRIN_END_DATE, to_date('1900-01-01', 'yyyy-mm-dd')),NVL(DONA_END_DATE, to_date('1900-01-01', 'yyyy-mm-dd')),
NVL(a.EXPIRE_DATE, to_date('1900-01-01', 'yyyy-mm-dd'))) expire_date
FROM zg.i_user_deposit_transfer@j a, zk.acc_book_scheme_cond@c b
WHERE a.cond_id=b.cond_id AND a.sts NOT IN (2,6);create index ind_serv_id4 on tmp_hsx_4(serv_id);
利用这个函数可以取出在三个时间中失效时间最长的那个。
update Ta set rmb=(
select least ((select a.rmb from subA a,Ta where a.id=Ta.id),(select b.rmb from subB b,Ta where b.id=Ta.id)) from dual
);
取这两个子查询中 rmb 较小的一个