Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Abfrage mit Join über mehrere Datenbanken hinweg – Syntaxfehler

Sie können direkt auf andere Datenbanken verweisen, wenn der Benutzer über Berechtigungen verfügt.

<database>.<user>.<tablename>

Ist der vollständige "Pfad" zur Datenbanktabelle.

Häufig verwenden Sie

db1.dbo.tbl1 join db2.dbo.tbl2

wobei dbo der Standard für Datenbankeigentümer ist, gehört jede Tabelle, die nicht einem bestimmten Benutzer gehört, standardmäßig dbo.

UPDATE

Um die Abfrage zu validieren, können Sie sie hierauf erweitern

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 

Aber ich hatte keine Zeit zu prüfen, ob dies die richtigen Daten zurückgeben würde, aber Sie können es testen.