Não é difícil juntar bancos de dados separados (assumindo que eles residam no mesmo servidor) Assim como você especificaria campos usando "table.field", você também pode usar "database.table.field" Abaixo está um exemplo de um banco de dados de dois Junte-se:
$sql="SELECT db1.table1.somefield, db2.table1.somefield FROM db1.table1 INNER JOIN db2.table1 ON db1.table1.someid = db2.table1.someid WHERE db1.table1.somefield = 'queryCrit';"
Você simplesmente escreve sua consulta como faria se estivesse trabalhando em um banco de dados, apenas use a notação de ponto para especificar seus bancos de dados também.
No que diz respeito ao seu problema, não acho que você esteja adicionando nomes de banco de dados antes de nomes de tabelas em todos os lugares .Tente isso.