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

requête avec jointure sur plusieurs bases de données-erreur de syntaxe

Vous pouvez référencer d'autres bases de données directement si l'utilisateur dispose des autorisations.

<database>.<user>.<tablename>

Est le "chemin" complet vers la table de la base de données.

Vous utilisez souvent

db1.dbo.tbl1 join db2.dbo.tbl2

où dbo est par défaut pour le propriétaire de la base de données, toute table n'appartenant pas à un utilisateur spécifique appartient par défaut à dbo.

UPDATE

Pour obtenir la requête à valider, vous pouvez l'étendre à ceci

SELECT * FROM 
(SELECT a.concession as db1_CON_NUMBER FROM db1.dbo.concessions as a  
UNION 
SELECT b.[Concession Number] as db1_CON_NUMBER FROM db1.dbo.invoicing as b ) c

INNER JOIN 

(SELECT c.concession as db2_CON_NUMBER FROM db2.dbo.concessions as a 
UNION 
SELECT b.[Concession Number] as db2_CON_NUMBER FROM db2.dbo.invoicing as b ) d

ON db1_CON_NUMBER = db2_CON_NUMBER 

Mais je n'ai pas eu le temps de vérifier si cela renverrait les bonnes données mais vous pouvez tester.