Essentially I'm attempting to select the top read (based on `read_date`), and check if it has a `type in ( 'R','S','C','B','Q','F','I','A')`

    select *
    from (
            select *
            from (
               select *
               FROM table
               WHERE  id = 369514
               order by read_date desc
                )
             where rownum = 1
             )
     where type IN ( 'R','S','C','B','Q','F','I','A')

I only need to return a row if the top row has a type in the set, if not return nothing.

The only way I seem to be able to is using all these nasty sub-queries.