尝试:
select TID, TName, EffectiveDate, depre(sign(EffectiveDate - (select max(T2.EffectiveDate) from MyTable T2 where T1.Tname=T2.Tname and T2.EffectiveDate <= sysdate)), -1,'Invalid', 0,'Valid', 'Inactive') Statusfrom MyTable T1

尝试:
select TID, TName, EffectiveDate, depre(sign(EffectiveDate - (select max(T2.EffectiveDate) from MyTable T2 where T1.Tname=T2.Tname and T2.EffectiveDate <= sysdate)), -1,'Invalid', 0,'Valid', 'Inactive') Statusfrom MyTable T1