Cuando diseñaste el reporte tuviste en cuenta esas tres tablas?, porque si creas us DataSet tipado con los campos de las tres tablas para diseñar el reporte y el select retorna los campos que estan en el reporte, no tendrias inconveniente cuando le envies los datos al reporte.
¿Si me hice entender?
Saludos