The problem is that instead of sending one query, you are sending as many queries as there are records in your smallest table.
You need to make sure to use one connection.
It may be possible to place a view in the database that contains most of the tables you are using to point to a table in the second database. This is not a crystal solution, and if you are not the DBA, they may think you are nuts. Notice the Fully qualified name of the table.
use HelpDeskDB
Create VIEW [dbo].[vwcorrespondents]
AS
SELECT *
FROM corpdata.dbo.Correspondents
The other choice is some sort of ETL job to copy the data from one DB to the other or ideally pull all the data to a third.