The SQL in the subreport might cause this.
If the rows are truly duplicates, try going into the subreport and select Database->Select Distinct Records
More likely they are NOT duplicates, and it's an issue with some join(s).
If it's SQL related, generic text based posts won't help anyone, post technical information:
Crystal version
Database used
Connectivity used
the SQL generated (database->Show SQL Query)
Example data
Expected output
-k