Yo te recomendaría usar una consulta con varias relaciones o hacer múltiples llamados al servidor de BD's.
Hay muchas cosas en SQL Server que soy muy útiles, pero no hay que usarlas sin tener conocimiento de sus repercuciones, tales son las UDF o los SP.
Mira por si te sirve
http://www.mssqlcity.com/Tips/stored...timization.htm
Saludos