The reason why you are getting thousands of records is probably because you are joining the same table to itself (so that both date ranges can be compared) and this produces a 'cartesian product' (which means you get thousands of duplicate records). Have you looked into using a crosstab object? This summarizes the data for you and puts the data side by side in two columns. You can also tell it to group by year. This might be what you need.
I cover everything you need to know about cross-tab reports in my Encyclopedia book. You can find out more about my books at
Amazon.com
or reading the
Crystal
Reports eBooks online.