I would split this into a master report and a subreport. The master report would have a simplified Dataset which just returns a row for each "Id". I would create a table using that Dataset and add a subreport object to the Detail row. I would set Page Breaks "Between each instance of a group" on the Details Row Group.
The subreport version of the report would have the two existing tables. I would add an "Id" parameter to the subreport Parameters and to both Datasets. I would remove the Page Break options from the subreport.
Finally, back in the main report, I would set the subreport object so that it passes the parameter for "Id", sourced from the Main report's dataset.