Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Requête SQL sur plusieurs bases de données

Je pense que le problème des doublons n'est pas lié à la jonction des deux bases de données, mais plutôt à votre jointure en premier lieu. Je pense que vous pourriez avoir besoin d'une jointure INNER ou OUTER pour gérer la liaison. Quant à obtenir des données à partir de deux bases de données différentes, la syntaxe est assez simple. Vous ajoutez simplement le nom du serveur point le nom de la base de données point le nom du propriétaire point le nom de la table.

Par exemple :

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

Dans votre exemple, il semble que le lien fonctionne, mais vous avez un problème de jointure sur le champ repair_ord. Bien que je ne connaisse pas votre schéma, je suppose que ce lien devrait être un INNER JOIN. Si vous ajoutez simplement les deux tables dans l'instruction FROM et que vous ne faites pas votre instruction WHERE correctement, vous aurez des problèmes comme vous le décrivez.

Je vous suggère de simplifier cette configuration et de la placer dans un environnement de test (sur une base de données). Essayez la jointure à quatre tables jusqu'à ce que vous réussissiez. Ajoutez ensuite la complexité des appels multi-bases de données.