Crystal reads rows of data. When it hits a subreport, it goes off and reads those rows of data, and then comes back and continues reading the data from the main report. Since a subreport is usually linked to the main report based on values in the main report, you can create a 'super' row by combining the data yourself in a stored proc...an example:
originally you have table 1 with id and name and table 2 with id and charges. You create a report where you list the name of the person and then call a subreport for the charges ( I know, this is very simple and there is no reason for the subreport, but that is the point...)
you could modify the Store proc to return id, name, charges in one table. You would probably group by the report based on the name, you could put the name in the group header and then in the detail section all the charges.
The reports look the same, but there is only 1 hit to the database the second way, while there are more the first way. So a super row is just combining ALL of the data that you want to show into 1 datarow. Let you DB software do what it is good at, gathering data, and let Crystal do what it is good at, formatting the data.
HTH
Edited by lockwelle - 23 Jun 2009 at 8:28am