Query Performance Help
@ehubba, welcome to stackexchange!

Here are some considerations:


Is there a reason for the GROUP BY?
Why do you use one IN and two EXISTS? Generally you can use IN for smaller and EXISTS for larger results. IN will result in lots of ORs which is not the best idea in large numbers.
I don't like the two sub-selects at the beginning of the statement. Can you replace them with joins?


If you want to improve performance, there are a lot more things to consider...


Are your statistics up-to-date?
constraints help the optimizer to find the best join order
indexes? (please post the explain plan!)


When I write SQL statements I always ask myself "how can I minimize the resultset as fast and efficient as possible".