Pouvons-nous utiliser l'opération de jointure pour deux tables de bases de données différentes? Si oui, comment dois-je procéder?
Les deux bases de données sont sur le même serveur et le SGBD est le même.
SQL Server vous permet de joindre des tables de différentes bases de données tant que ces bases de données sont sur le même serveur. La syntaxe de jointure est la même; la seule différence est que vous devez spécifier complètement les noms de table.
Supposons que vous ayez deux bases de données sur le même serveur - Db1
et Db2
. Db1
a une table appelée Clients
avec une colonne ClientId
et Db2
a une table appelée Messages
avec une colonneClientId
(laissons voir pourquoi ces tables sont dans des bases de données différentes).
Maintenant, pour effectuer une jointure sur les tables mentionnées ci-dessus, vous utiliserez cette requête:
select *
from Db1.dbo.Clients c
join Db2.dbo.Messages m on c.ClientId = m.ClientId
Vous pouvez utiliser la partie Synonymes dans la base de données.
Ensuite, dans l'assistant de visualisation de l'onglet Synonymes, recherchez vos synonymes enregistrés et ajoutez-les pour afficher et définir simplement la jointure interne.
la source