Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Consulta SQL em vários bancos de dados


Eu acho que o problema das duplicatas não é juntar os dois bancos de dados, mas sim em sua junção em primeiro lugar. Acho que você pode precisar de uma junção INNER ou OUTER para lidar com a vinculação. Quanto à obtenção de dados de dois bancos de dados diferentes, a sintaxe é bastante simples. Você acabou de adicionar o nome do servidor ponto o nome do banco de dados ponto o nome do proprietário ponto o nome da tabela.

Por exemplo:
SELECT firstdb.*, seconddb.*
FROM Server1.Database1.dbo.myTable AS firstdb
INNER JOIN Server2.Database2.dbo.myTable AS seconddb
   ON firstdb.id = seconddb.id

No seu exemplo, parece que você está fazendo o link funcionar, mas você tem um problema de junção no campo repair_ord. Embora eu não conheça seu esquema, acho que esse link deve ser um INNER JOIN. Se você apenas adicionar as duas tabelas na instrução FROM e não fizer sua instrução WHERE corretamente, terá problemas como está descrevendo.

Sugiro que você simplifique essa configuração e a coloque em um ambiente de teste (em um banco de dados). Experimente a junção de quatro mesas até acertar. Em seguida, adicione as complexidades das chamadas de vários bancos de dados.