我有以下表: / O8 H9 p$ Z7 _1 n S1 u" h0 ETID TName有效日期1 A 2011-7-12 A 2011-8-13 A 2011-9-14 A 2011-10-15 B 2011-8-16 B 2011-9-17 B 2011-10-18 C 2011-9-1如果今天是2011-9-希望查询结果如下: / l3 j: Y5 `( M+ o: [TID TName1 有效日期状态A 2011-7-1无效2 A 2011-8-1无效3 A 2011-9-1有效4 A 2011-10-1不活动5 B 2011-8-1无效6 B 2011-9-1有效7 B 2011-10-1无效8 C 2011-9-1有效如果今天是2011-10-2.查询结果如下: ; B7 l9 z- [; CTID TName1 有效日期状态A 2011-7-1无效2 A 2011-8-1无效3 A 2011-9-1无效4 A 2011-10-1有效5 B 2011-8-1无效6 B 2011-9-1无效7 B 2011-10-1有效8 C 2011-9-1有效查询结果将添加一个名为状态的列,状态值将基于今天的值与列的生效日期进行比较。最长有效日期将显示为有效状态。如果今天的值介于两个记录之间,则后者为非活动状态。* b e: A4 i7 D2 j% R" G
怎样写语句?oracle得到这个结果? 9 ]5 U& j4 t3 _8 Z& q 4 ]+ [' n; i9 K( n% a 解决方案: