Step 1 - shoot the database designer!
Solution depends upon the report design. I can think of 3 options:
1) As DBlank suggests, create a command object. Downside of this is that it's nasty SQL to write and it makes changing the report in the future more awkward.
2) You could use a subreport to do a lookup from the main report. This is ONLY useful if it is going to be displayed a few (dozens) of times in the report. If you're displaying at detail level, don't even think about it as performance will be poor.
3) Write a view on the database. Better still, get the original database designer to write the view so he can see what a dumb idea it was to start with!