Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

query con join su più database-errore di sintassi

Puoi fare riferimento direttamente ad altri database se l'utente dispone delle autorizzazioni.

<database>.<user>.<tablename>

È il "percorso" completo della tabella del database.

Spesso usi

db1.dbo.tbl1 join db2.dbo.tbl2

dove dbo è predefinito per il proprietario del database, qualsiasi tabella non di proprietà di un utente specifico è di proprietà di dbo per impostazione predefinita.

UPDATE

Per far convalidare la query, puoi espanderla a questo

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 

Ma non ho avuto il tempo di verificare se questo avrebbe restituito i dati giusti, ma puoi testare.