Alternatively (and more or less the same solution as paul's, only neater ;-) ), you could create an SQL view that joins 2 identical SELECT statements together in a UNION join, and add a field to the end with a 0 for rows in the first SELECT statement, and a 1 for rows in the second SELECT.
Then group by the 0 or 1 field in the report.
Then you've created no extra table to 'fudge' your report - just a view that does the job and contains the correct data for the report (and will probably run a little quicker than the table join, too).
Like Paul, I always try to avoid using sub-reports. They add a level of complexity to your report design and have an undesirable performance-hit. In short, they're ugly! You can get around the need for them in almost all situations by creating an SQL view.
Edited by theBlueFrog - 22 Apr 2008 at 4:37am