--Code Fragment 9.10
 SELECT * FROM PROJECTIONS P 
 WHERE TO_DATE( '04/01/1996', 'MM/DD/YYYY' ) > 
       (SELECT MAX(When_Changed) FROM P_Audit A 
        WHERE P.PROJECTION_ID = A.PROJECTION_ID) 
UNION 
 SELECT A2.PROJECTION_ID, A2.PROJECTION_NAME, A2.PROJECTION_TYPE, A2.SPHEROID_CODE,
        A2.PROJECTION_UOM, A2.ZONE_CODE
 FROM P_Audit A, P_Audit A2 
 WHERE A.When_Changed < A2.When_Changed AND 
       A.PROJECTION_ID = A2.PROJECTION_ID AND 
       NOT EXISTS (SELECT * FROM P_Audit A3 
                   WHERE A.PROJECTION_ID = A3.PROJECTION_ID AND 
                         A.When_Changed < A3.When_Changed AND 
                         A3.When_Changed < A2.When_Changed) 
       AND 
       A.When_Changed < TO_DATE( '04/01/1996', 'MM/DD/YYYY' ) AND 
       TO_DATE( '04/01/1996', 'MM/DD/YYYY' ) < A2.When_Changed AND 
       A.Operation <> 'D'
;





